Maven 3.3.1 ECLIPSE: -Dmaven.multiModuleProjectDirectory sistema de propriedade não está definido


86

Acabei de instalar o Maven 3.3.1 no Mac OS X e construir um projeto Maven com o Eclipse está me apresentando este erro:

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

Isso não acontecia antes com o Maven 3.2.5.

Existe alguma maneira de corrigir isso (exceto rebaixando para 3.2.5)?

Onde exatamente posso definir essa propriedade "multiModuleProjectDirectory" no Eclipse?


3
Este foi um bug m2e arquivado em 2015-03-24, e desde então foi resolvido. Consulte stackoverflow.com/a/29735560/751158.
ziesemer

Respostas:


191

Em Eclipsevocê precisa ir assim.

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

Na edição Default VM argumentsvocê precisa colocar

Se você já definiu o maven para casa.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Eu não sei por que, mas quando você executa uma opção maven como clean no Eclipse, isso mostrará que é necessário.
Diego Macario,

5
@atamanroman e tudo - este foi um bug m2e arquivado em 2015-03-24, e desde então foi resolvido. Consulte stackoverflow.com/a/29735560/751158 .
ziesemer

Você também pode adicionar os argumentos da VM de Run Configuration -> Maven Build. Selecione sua configuração de inicialização e abra a guia JRE. Adicione -Dmaven.multiModuleProjectDirectory=$M2_HOMEna caixa de texto de argumentos da VM.
Bogie

Eu segui a solução e ainda estava vendo o mesmo erro. Isso porque o projeto maven tinha referência a jre 1.7 Mas JAVA_HOME foi definido como jre1.8.Making Maven project para apontar para o jre 1.8 em configure Build path-> java build caminho resolveu o problema.
Shubha S

21

No IntelliJ, você pode definir essa opção no campo Opções de VM, que pode ser encontrado na próxima visualização de configuração:

Preferências / Build, execução, implantação / Ferramentas de Build / Maven / Runner

insira a descrição da imagem aqui


Também funciona para IntelliJ Idea 14.0 com Maven 3.3.9
Dreamcatcher

17

Isso foi arquivado como um bug com m2e no Eclipse em https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944 , devido às mudanças no Maven 3.3.1.

Isso é fixado em m2e 1.5.2 a partir de 2015-04-13. Esta é uma versão disponível que pode ser instalada em http://download.eclipse.org/technology/m2e/releases/ .

(Chega de alterar os argumentos JVM para todo o espaço de trabalho ou para configurações de ativação específicas necessárias.)


1
Eu recebo: 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 + outros
Mykel Alvis

A última versão 1.5.X deve estar aqui: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01

7

Defina assim nas opções JVM:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
Onde exatamente posso definir as opções de JVM de um projeto no Eclipse?
Bob

1
PROJECT_DIR faz mais sentido do que M2_HOME.
atamanroman

1
essa variável não existe - o que você estava tentando se referir é $ PROJECT_LOC
specializt

3

Caso você tenha esta mensagem de erro em sua linha de comando, verifique se sua variável PATH aponta para a mesma apache-maven-3.X.X/binpasta de instalação do maven que sua variável M2_HOME. No meu caso, eu estava misturando duas versões, o que resultou neste erro.


2

vá para a configuração de execução, crie uma nova maven buildconfiguração de inicialização onde na primeira guia você preenche o diretório base e o objetivo, então, vá para jre tabe adicione a vm argsesta configuração:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

onde M2_HOMEé uma variável de ambiente apontando para o diretório base de sua instalação maven



2

Eu encontrei o mesmo problema com as versões 3.3 e 3.2 do Maven, então decidi fazer o downgrade para a versão 3.0.5 e funcionou bem.


0

Tive o mesmo problema com o intelliJ 14, tentei diferentes soluções fornecidas em fóruns, mas não funcionou. O que eu fiz foi desinstalar completamente o intellij e instalar o intellij 15.0.1 e importar o mesmo projeto, então tudo funciona bem.


0

Para definir a maven.multiModuleProjectDirectorypropriedade permanentemente no Maven, adicionei um perfil ativado padrão que inicializa a propriedade com a variável de ambiente MAVEN_HOME no settings.xmlarquivo. Ou você também pode usar a variável de ambiente M2_HOME como alternativa .

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.