webentwicklung-frage-antwort-db.com.de

Eclipse-Fehler beim Einrichten des Maven-Projekts für die Klassenübung: Überprüfen Sie die Umgebungsvariable $ M2_HOME und das mvn-Skript

Ich habe ein paar verwandte Fragen dazu gefunden, aber alle beziehen sich auf Intellij oder auf Mac OS. Ich bin unter Windows 8.1 und benutze Eclipse:

Eclipse Java EE IDE für Webentwickler. Version: Luna Service Release 2 (4.4.2) Build-ID: 20150219-0600

Maven 3.3.1

Ich habe die "Ausführen als" -Parameter wie für den Kurs angegeben eingerichtet. Ich erhalte jedoch die folgende Fehlermeldung, wenn ich versuche zu laufen:

-Dmaven.multiModuleProjectDirectory-System wird nicht festgelegt. Überprüfen Sie die $ M2_HOME-Umgebungsvariable und das MVN-Skript auf Übereinstimmung.

Meine Ausgabe für mvn -version lautet wie folgt und scheint korrekt zu sein.

Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T16: 10: 27-04: 00)

Maven-Startseite: C:\Programme\Apache-Software Foundation\Apache-maven-3.3.1 Java-Version: 1.7.0_75, Anbieter: Oracle Konzern

Java-Startseite: C:\Programme\Java\jdk1.7.0_75\jre

Standardgebietsschema: en_CA, Plattformkodierung: Cp1252

Betriebssystemname: "Windows 8.1", Version: "6.3", Arch: "AMD64", Familie: "Fenster"

Ich bin ein absoluter Neuling, wenn es um Maven und Eclipse geht. Jede Hilfe wird geschätzt.

18
greeneggsnoham

Gehen Sie zu: Window -> Preference -> Java -> Installierte JREs -> Edit.__Im Edit-Standard VM - Argument müssen Sie Eingeben Zuhause, für Windows-Rechner:

-Dmaven.multiModuleProjectDirectory=M2_HOME

Und für Linux und Mac OS X:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Falls Sie Maven 3.x verwenden, heißt die Variable $ MAVEN_HOME

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME
49
Abhinav Kumar

Ich habe dafür eine Lösung gefunden.

1) Ich musste Konfigurationen ausführen und der VM ein Argument hinzufügen. (Run - Run Configurations - JRE-Registerkarte - VM - Argumente). Geben Sie im Textfeld Folgendes ein

 -Dmaven.multiModuleProjectDirectory=%M2_HOME%

Sie müssen% M2_HOME% oder etwas Ähnliches verwenden, um den Pfad zu Maven darzustellen. Wenn ich diesen Pfad direkt zu diesem Argument hinzufügte, konnte er ihn nicht finden. Ich denke es liegt daran, dass das Argument eine Längenbegrenzung hat. Mein Weg war 

C:\Program Files\Apache Software Foundation\Apache-maven-3.3.1

ich habe eine Fehlermeldung erhalten, dass die Laufzeit unter Program Files\Apache nicht gefunden wurde 

2) Richten Sie eine Systemumgebungsvariable namens M2_HOME mit C:\Programme\Apache Software Foundation\Apache-maven-3.3.1 ein

Systemsteuerung - System und Sicherheit - System - Erweiterte Systemeinstellungen - Umgebungsvariablen - Systemvariablen - Neu

15
greeneggsnoham

Du bist nicht alleine damit. Ich bin vor kurzem auch zu 3.3.1 umgestiegen und habe das gleiche Problem.

Dies ist nicht die beste Antwort, aber das wird Ihnen heute wahrscheinlich helfen. Versuchen Sie, auf die neueste Version 3.2.x zurückzukehren. (Aktuell 3.2.5)

Ich habe das Gefühl, dass es mit MNG-5767 zusammenhängt, und einer Änderung, die kürzlich vorgenommen wurde. In einem m2e-Update sind möglicherweise einige Funktionen enthalten oder es hat etwas mit der Struktur Ihres Maven-Projekts zu tun. Ohne mehr Details wird es schwer zu sagen sein.

2
GilbertErik

das Hinzufügen des VM - Arguments hat für mich funktioniert - Dmaven.multiModuleProjectDirectory = M2_HOME

0
Manjeet

Greifen Sie auf den folgenden Speicherort in Eclipse zu

Window
  Preference
    Java
      Installed JREs

Bearbeiten Sie nun Default VM arguments und platzieren Sie die folgenden Argumente entsprechend Ihrem Betriebssystemtyp.

Wenn Windows,

-Dmaven.multiModuleProjectDirectory=M2_HOME

Wenn Linux,

-Dmaven.multiModuleProjectDirectory=$M2_HOME
0
Dulith De Costa

Das Aktualisieren Ihrer m2Eclipse-Installation von https://www.Eclipse.org/m2e wird das Problem lösen.

0
kirenpillay

Eine neuere Version von maven setzt die multiModuleProjectDirectory-Eigenschaft im Skript bin/mvn automatisch. Dies wurde here hinzugefügt, obwohl ich nicht sicher bin, wie die Versionsnummer/das Patchen funktioniert. Sie können in dieser Datei nach der Funktion find_maven_basedir suchen. Wenn dies nicht der Fall ist, aktualisieren Sie maven.

0
xdhmoore