Maven 3.3.1 ECLIPSE: -Dmaven.multiModuleProjectDirectory proprietà del sistema non è impostata


86

Ho appena installato Maven 3.3.1 su Mac OS X e la creazione di un progetto Maven con Eclipse mi dà questo errore:

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

Non è successo prima con Maven 3.2.5.

C'è un modo per risolvere questo problema (eccetto il downgrade a 3.2.5)?

Dove posso impostare esattamente questa proprietà "multiModuleProjectDirectory" in Eclipse?


3
Si trattava di un bug m2e segnalato al 24/03/2015 e da allora è stato risolto. Consulta stackoverflow.com/a/29735560/751158.
ziesemer

Risposte:


191

In Eclipsedovete andare in questo modo.

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

Nella modifica Default VM argumentsdevi mettere

Se hai già impostato l'esperto a casa.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Non so perché, ma quando esegui un'opzione maven come clean in Eclipse mostrerà che è necessario.
Diego Macario

5
@atamanroman e tutto il resto - questo era un bug m2e segnalato al 24/03/2015 e da allora è stato risolto. Consulta stackoverflow.com/a/29735560/751158 .
ziesemer

Puoi anche aggiungere gli argomenti della VM da Run Configuration -> Maven Build. Seleziona la configurazione di avvio e apri la scheda JRE. Aggiungi -Dmaven.multiModuleProjectDirectory=$M2_HOMEnella casella di testo degli argomenti della VM.
Bogie

Ho seguito la soluzione e vedevo ancora lo stesso errore, perché il progetto Maven faceva riferimento a jre 1.7 ma JAVA_HOME era impostato su jre1.8.Rendere il progetto Maven in modo che punti a jre 1.8 in configure Build path-> java build percorso ha risolto il problema.
Shubha S

21

In IntelliJ puoi impostare questa opzione nel campo Opzioni VM che puoi trovare nella successiva vista di configurazione:

Preferenze / Build, esecuzione, deployment / Build tools / Maven / Runner

inserisci qui la descrizione dell'immagine


Funziona anche per IntelliJ Idea 14.0 con Maven 3.3.9
Dreamcatcher

17

Questo è stato segnalato come un bug con m2e in Eclipse su https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944 , a causa delle modifiche in Maven 3.3.1.

Questo problema è stato risolto in m2e 1.5.2 a partire dal 13/04/2015. Questa è una versione disponibile che può essere installata da http://download.eclipse.org/technology/m2e/releases/ .

(Non è più necessario modificare gli argomenti JVM per l'intero spazio di lavoro o per configurazioni di avvio specifiche).


1
Ricevo: 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 + altri
Mykel Alvis

L'ultima versione 1.5.X dovrebbe essere qui: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01

7

Definisci in questo modo nelle opzioni JVM:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
Dove posso impostare esattamente le opzioni JVM di un progetto in Eclipse?
Bob

1
PROJECT_DIR ha più senso di M2_HOME.
atamanroman

1
quella variabile non esiste - ciò a cui stavi effettivamente cercando di fare riferimento è $ PROJECT_LOC
specializt

3

Se hai questo messaggio di errore sulla tua riga di comando, verifica se la tua variabile PATH punta alla stessa apache-maven-3.X.X/bincartella di installazione Maven della tua variabile M2_HOME. Nel mio caso stavo mescolando due versioni che hanno provocato questo errore.


2

vai a eseguire la configurazione, crea una nuova maven buildconfigurazione di lancio dove nella prima scheda riempi la directory di base e l'obiettivo, quindi vai a jre tabe aggiungi a vm argsquesta configurazione:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

dove M2_HOMEè una variabile di ambiente che punta alla directory di base della tua installazione di Maven



2

Ho riscontrato lo stesso problema con le versioni Maven 3.3 e 3.2, quindi ho deciso di eseguire il downgrade alla versione 3.0.5 e ha funzionato perfettamente.


0

Ho avuto lo stesso problema con intelliJ 14, ho provato diverse soluzioni fornite nei forum ma non ha funzionato. Quello che ho fatto è stato disinstallare completamente intellij e installato intellij 15.0.1 e importare lo stesso progetto, quindi tutto funziona bene.


0

Per impostare la maven.multiModuleProjectDirectoryproprietà in modo permanente in Maven, ho aggiunto un profilo attivato predefinito che inizializza la proprietà con la variabile d'ambiente MAVEN_HOME nel settings.xmlfile. Oppure potresti anche utilizzare in alternativa la variabile d'ambiente M2_HOME .

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.