Maven 3.3.1 ECLIPSE: Die Eigenschaft des Systems -Dmaven.multiModuleProjectDirectory ist nicht festgelegt


86

Ich habe gerade Maven 3.3.1 unter Mac OS X installiert und beim Erstellen eines Maven-Projekts mit Eclipse wird folgende Fehlermeldung angezeigt:

-Dmaven.multiModuleProjectDirectory system property is not set.
Check $M2_HOME environment variable and mvn script match.

Mit Maven 3.2.5 ist das noch nie passiert.

Gibt es eine Möglichkeit, dies zu beheben (außer ein Downgrade auf 3.2.5)?

Wo genau kann ich diese Eigenschaft "multiModuleProjectDirectory" in Eclipse festlegen?


3
Dies war ein m2e-Fehler, der am 24.03.2015 abgelegt wurde und seitdem behoben wurde. Weitere Informationen finden Sie unter stackoverflow.com/a/29735560/751158.
ziesemer

Antworten:


190

In müssen EclipseSie so gehen.

Window-> Preference -> Java -> Installed JREs -> Edit

In die Bearbeitung müssen Default VM argumentsSie setzen

Wenn Sie den Maven bereits nach Hause gebracht haben.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Ich weiß nicht warum, aber wenn Sie eine Maven-Option wie clean in Eclipse ausführen, wird angezeigt, dass dies erforderlich ist.
Diego Macario

5
@atamanroman und alle - dies war ein eingereichter m2e-Fehler vom 24.03.2015 und wurde seitdem behoben. Weitere Informationen finden Sie unter stackoverflow.com/a/29735560/751158 .
ziesemer

Sie können auch die VM-Argumente von hinzufügen Run Configuration -> Maven Build. Wählen Sie Ihre Startkonfiguration aus und öffnen Sie die Registerkarte JRE. Fügen Sie -Dmaven.multiModuleProjectDirectory=$M2_HOMEin VM Argumente Textbox.
Bogie

Ich folgte der Lösung und sah immer noch den gleichen Fehler. Dies lag daran, dass das Maven-Projekt auf jre 1.7 verweist. JAVA_HOME wurde jedoch auf jre1.8 gesetzt. Maven-Projekt wurde so erstellt, dass es auf jre 1.8 in configure Build path-> java build verweist Pfad löste das Problem.
Shubha S

21

In IntelliJ können Sie diese Option im Feld VM-Optionen festlegen, das Sie in der nächsten Konfigurationsansicht finden:

Einstellungen / Erstellen, Ausführen, Bereitstellen / Erstellen von Tools / Maven / Runner

Geben Sie hier die Bildbeschreibung ein


Es funktioniert auch für IntelliJ Idea 14.0 mit Maven 3.3.9
Dreamcatcher

17

Dies wurde aufgrund der Änderungen in Maven 3.3.1 als Fehler mit m2e in Eclipse unter https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944 abgelegt .

Dies ist in m2e 1.5.2 vom 13.04.2015 festgelegt. Dies ist eine verfügbare Version, die unter http://download.eclipse.org/technology/m2e/releases/ installiert werden kann .

(Keine Änderung der JVM-Argumente mehr für den gesamten Arbeitsbereich oder für bestimmte Startkonfigurationen erforderlich.)


1
Ich bekomme: An error occurred while collecting items to be installed session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,org.aspectj.runtime.source,1.7.0.20120703164200 No repository found containing: osgi.bundle,org.eclipse.contribution.weaving.jdt.source,2.2.0.e37x-RELEASE-20120704-0900 + andere
Mykel Alvis

Die neueste Version 1.5.X sollte hier sein: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01

6

Definieren Sie dies in den JVM-Optionen wie folgt:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
Wo genau kann ich die JVM-Optionen eines Projekts in Eclipse festlegen?
Bob

1
PROJECT_DIR ist sinnvoller als M2_HOME.
Atamanroman

1
Diese Variable existiert nicht - Sie haben tatsächlich versucht, auf $ PROJECT_LOC zu verweisen
spezialisiert auf den

3

Falls Sie diese Fehlermeldung in Ihrer Befehlszeile haben, überprüfen Sie bitte, ob Ihre PATH-Variable auf denselben Maven-Installationsordner verweist apache-maven-3.X.X/binwie Ihre M2_HOME-Variable. In meinem Fall habe ich zwei Versionen verwechselt, was zu diesem Fehler geführt hat.


2

Gehen Sie zur Ausführung der Konfiguration, erstellen Sie eine neue maven buildStartkonfiguration, und füllen Sie auf der ersten Registerkarte das Basisverzeichnis und das Ziel aus. Gehen jre tabSie dann zu vm argsdieser Konfiguration und fügen Sie sie hinzu :

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

Wo M2_HOMEist eine Umgebungsvariable, die auf das Basisverzeichnis Ihrer Maven-Installation verweist?



2

Ich habe das gleiche Problem mit den Versionen Maven 3.3 und 3.2 festgestellt, daher habe ich beschlossen, ein Downgrade auf Version 3.0.5 durchzuführen, und es hat einwandfrei funktioniert.


0

Ich hatte das gleiche Problem mit IntelliJ 14, ich habe verschiedene Lösungen ausprobiert, die in Foren angeboten wurden, aber nicht geklappt. Was ich getan habe, ist, dass ich Intellij vollständig deinstalliert und Intellij 15.0.1 installiert habe und dasselbe Projekt importiere, dann funktioniert alles einwandfrei.


0

Um die maven.multiModuleProjectDirectoryEigenschaft dauerhaft in Maven festzulegen, habe ich ein standardmäßig aktiviertes Profil hinzugefügt, das die Eigenschaft mit der Umgebungsvariablen MAVEN_HOME in der settings.xmlDatei initialisiert . Alternativ können Sie auch die Umgebungsvariable M2_HOME verwenden .

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.