web-dev-qa-db-fra.com

Erreur Eclipse lors de la configuration du projet Maven pour l'exercice en classe: vérifiez la variable d'environnement $ M2_HOME et le script mvn

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.

18
greeneggsnoham

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
49
Abhinav Kumar

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

15
greeneggsnoham

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.

2
GilbertErik

l'ajout ci-dessous à l'argument VM a fonctionné pour moi - Dmaven.multiModuleProjectDirectory = M2_HOME

0
Manjeet

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
0
Dulith De Costa

La mise à jour de votre installation m2Eclipse depuis https://www.Eclipse.org/m2e résoudra ce problème.

0
kirenpillay

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.

0
xdhmoore