Maven 3.3.1 ECLIPSE: -Dmaven.multiModuleProjectDirectory właściwość systemu nie jest ustawiona


86

Właśnie zainstalowałem Maven 3.3.1 na Mac OS X i tworzenie projektu Maven za pomocą Eclipse daje mi ten błąd:

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

Nie miało to miejsca wcześniej w przypadku Maven 3.2.5.

Czy jest jakiś sposób, aby to naprawić (z wyjątkiem przejścia na wersję 3.2.5)?

Gdzie dokładnie mogę ustawić tę właściwość „multiModuleProjectDirectory” w Eclipse?


3
Był to zgłoszony błąd m2e z dnia 2015-03-24 i od tego czasu został rozwiązany. Zobacz stackoverflow.com/a/29735560/751158.
ziesemer

Odpowiedzi:


191

W Eclipsetrzeba iść tak.

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

W edycji Default VM argumentsmusisz umieścić

Jeśli już ustawiłeś maven do domu.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Nie wiem dlaczego, ale kiedy uruchomisz opcję maven, taką jak clean w Eclipse, pokaże, że jest to konieczne.
Diego Macario

5
@atamanroman i wszystko inne - to był zgłoszony błąd m2e z dnia 2015-03-24 i od tego czasu został rozwiązany. Zobacz stackoverflow.com/a/29735560/751158 .
ziesemer

Możesz również dodać argumenty maszyny wirtualnej z Run Configuration -> Maven Build. Wybierz konfigurację uruchamiania i otwórz kartę JRE. Dodaj -Dmaven.multiModuleProjectDirectory=$M2_HOMEpole tekstowe argumentów maszyny wirtualnej.
Bogie

Podążałem za rozwiązaniem i nadal widziałem ten sam błąd, ponieważ projekt maven miał odniesienie do jre 1.7, ale JAVA_HOME był ustawiony na jre1.8. ścieżka rozwiązała problem.
Shubha S

21

W IntelliJ można ustawić tę opcję w polu Opcje maszyny wirtualnej, które można znaleźć w następnym widoku konfiguracji:

Preferencje / Kompilacja, wykonanie, wdrożenie / Narzędzia do budowania / Maven / Runner

wprowadź opis obrazu tutaj


Działa również dla IntelliJ Idea 14.0 z Maven 3.3.9
Dreamcatcher

17

Zostało to zgłoszone jako błąd w m2e w Eclipse pod adresem https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944 , ze względu na zmiany w Maven 3.3.1.

Jest to ustalone w m2e 1.5.2 od 13.04.2015. To jest dostępne wydanie, które można zainstalować z http://download.eclipse.org/technology/m2e/releases/ .

(Nie trzeba już zmieniać argumentów JVM dla całego obszaru roboczego lub określonych konfiguracji uruchamiania).


1
Dostaję: 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 + inni
Mykel Alvis

Najnowsze wydanie 1.5.X powinno być tutaj: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01.

7

Zdefiniuj w ten sposób w opcjach JVM:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
Gdzie dokładnie mogę ustawić opcje JVM projektu w Eclipse?
Bob

1
PROJECT_DIR ma większy sens niż M2_HOME.
atamanroman

1
ta zmienna nie istnieje - tak naprawdę próbujesz się odnieść do $ PROJECT_LOC
specializt

3

Jeśli masz ten komunikat o błędzie w linii poleceń, sprawdź, czy zmienna PATH wskazuje na ten sam apache-maven-3.X.X/binfolder instalacyjny Mavena, co zmienna M2_HOME. W moim przypadku pomieszałem dwie wersje, co spowodowało ten błąd.


2

przejdź do uruchomienia konfiguracji, utwórz nową maven buildkonfigurację uruchamiania, gdzie w pierwszej zakładce wypełniasz katalog podstawowy i cel, a następnie przejdź do jre tabi dodaj do vm argstej konfiguracji:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

gdzie M2_HOMEjest zmienną środowiskową wskazującą na katalog podstawowy instalacji mavena




0

miałem ten sam problem z intelliJ 14, wypróbowałem różne rozwiązania podane na forach, ale nie wyszło. To, co zrobiłem, to całkowicie odinstalowałem Intellij i zainstalowałem Intellij 15.0.1 i zaimportowałem ten sam projekt, a wszystko działa dobrze.


0

Aby ustawić maven.multiModuleProjectDirectorywłaściwość na stałe w Maven, dodałem domyślny aktywowany profil, który inicjuje właściwość za pomocą zmiennej środowiskowej MAVEN_HOME w settings.xmlpliku. Możesz też alternatywnie użyć zmiennej środowiskowej M2_HOME .

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.