J'ai trouvé quelques questions connexes à ce sujet, mais elles sont toutes liées à Intellij ou à Mac OS. Je suis sous Windows 8.1 et utilise Eclipse:
Eclipse Java EE IDE pour les développeurs Web. Version: Luna Service Release 2 (4.4.2) Identifiant de la construction: 20150219-0600
Maven 3.3.1
J'ai configuré les paramètres "Run As" comme indiqué pour le cours mais le message d'erreur suivant s'affiche lorsque j'essaie de l'exécuter:
La propriété système -Dmaven.multiModuleProjectDirectory n'est pas définie. Vérifiez la variable d’environnement $ M2_HOME et le script mvn.
Ma sortie pour mvn -version est la suivante et semble être correcte.
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T16: 10: 27 - 04: 00)
Accueil Maven: Logiciel C:\Program Files\Apache Foundation\Apache-maven-3.3.1 Version Java: 1.7.0_75, fournisseur: Oracle société
Page d'accueil Java: C:\Program Files\Java\jdk1.7.0_75\jre
Paramètres régionaux par défaut: en_CA, codage de la plateforme: Cp1252
Nom du système d'exploitation: "Windows 8.1", version: "6.3", Arch: "AMD64", famille: "les fenêtres"
Je suis un newb complet quand il s'agit de Maven et Eclipse. Toute aide est appréciée.
Allez à: Fenêtre -> Préférences -> Java -> JRE installés -> ÉditerDans la modification Par défaut VM arguments à placer. le maven home, pour machine Windows:
-Dmaven.multiModuleProjectDirectory=M2_HOME
Et pour Linux et Mac OS X:
-Dmaven.multiModuleProjectDirectory=$M2_HOME
Si vous utilisez Maven 3.x, la variable est nommée $ MAVEN_HOME
-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME
J'ai réussi à trouver une solution à cela.
1) Je devais exécuter des configurations et ajouter un argument à la machine virtuelle. (Exécuter - Configurations exécutées - Onglet JRE - arguments VM). Entrez les informations suivantes dans la zone de texte
-Dmaven.multiModuleProjectDirectory=%M2_HOME%
Vous devez utiliser% M2_HOME% ou quelque chose de similaire pour représenter le chemin d'accès à Maven, car lorsque j'ai ajouté directement le chemin d'accès à cet argument, il n'a pas été trouvé. Je pense que c'est parce qu'il y a une limite de longueur à l'argument. Mon chemin était
C:\Program Files\Apache Software Foundation\Apache-maven-3.3.1
et j'ai eu une erreur indiquant qu'il ne pouvait pas trouver le runtime à Program Files\Apache
2) Configurez une variable d’environnement système appelée M2_HOME avec C:\Program Files\Apache Software Foundation\Apache-maven-3.3.1.
Panneau de configuration - Système et sécurité - Système - Paramètres système avancés - Variables d'environnement - Variables système - Nouveau
Vous n'êtes pas seul à rencontrer cela. J'ai récemment déménagé à la version 3.3.1 également et je rencontre le même problème.
Ce n'est pas la meilleure réponse, mais cela vous aidera probablement aujourd'hui. Essayez de revenir à la dernière version 3.2.x. (Actuellement 3.2.5)
J'ai l'impression que cela est lié à MNG-5767 et à un changement qui l'a récemment fait apparaître. Une mise à jour m2e peut comporter certaines fonctionnalités ou peut-être un lien avec la structure de votre projet maven. Sans plus de détails, ce sera difficile à dire.
l'ajout ci-dessous à l'argument VM a fonctionné pour moi - Dmaven.multiModuleProjectDirectory = M2_HOME
Accédez à l'emplacement suivant dans Eclipse
Window
Preference
Java
Installed JREs
Maintenant, éditez Default VM arguments
et placez les arguments ci-dessous en fonction de votre type de système d'exploitation.
Si Windows,
-Dmaven.multiModuleProjectDirectory=M2_HOME
Si Linux,
-Dmaven.multiModuleProjectDirectory=$M2_HOME
La mise à jour de votre installation m2Eclipse depuis https://www.Eclipse.org/m2e résoudra ce problème.
La nouvelle version de maven définira automatiquement la propriété multiModuleProjectDirectory dans le script bin/mvn
. Ceci a été ajouté ici , bien que je ne sois pas sûr du fonctionnement du numéro de version/correctif. Vous pouvez rechercher la fonction find_maven_basedir
dans ce fichier. S'il n'existe pas, essayez de mettre à jour Maven.