Maven 3.3.1 ECLIPSE:-dmaven.multiModuleProjectDirectory系统属性未设置


86

我刚刚在Mac OS X上安装了Maven 3.3.1,并且使用Eclipse构建Maven项目给了我这个错误:

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

Maven 3.2.5之前从未发生过。

有什么办法可以解决此问题(降级到3.2.5除外)?

我在哪里可以在Eclipse中准确设置此“ multiModuleProjectDirectory”属性?


3
自2015年3月24日起,这是一个提起的m2e错误,此后已解决。请参阅stackoverflow.com/a/29735560/751158。
ziesemer

Answers:


191

Eclipse你需要这样。

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

在编辑中,Default VM arguments您需要输入

如果您已经将Maven设为首页。

-Dmaven.multiModuleProjectDirectory=$M2_HOME

我不知道为什么,但是当您在Eclipse中运行clean之类的maven选项时,它将表明这是必要的。
Diego Macario

5
@atamanroman和所有-这是从2015年3月24日起提交的m2e错误,此后已解决。请参阅stackoverflow.com/a/29735560/751158
ziesemer

您也可以从添加VM参数Run Configuration -> Maven Build。选择启动配置,然后打开选项卡JRE-Dmaven.multiModuleProjectDirectory=$M2_HOME在VM参数文本框中添加。
转向架

我遵循了解决方案,但仍然看到相同的错误,这是因为maven项目引用了jre 1.7,但JAVA_HOME设置为jre1.8。在配置Build path-> java build中使Maven项目指向jre 1.8路径解决了问题。
Shubha S

21

在IntelliJ中,您可以在下一个配置视图中找到的VM Options字段中设置此选项:

首选项/构建,执行,部署/构建工具/ Maven / Runner

在此处输入图片说明


它还适用于带有Maven 3.3.9的IntelliJ Idea 14.0
Dreamcatcher 2015年

17

由于Maven 3.3.1中的更改​​,它已作为Eclipse中的m2e的错误提交到https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944

自2015年4月13日起,此问题已在m2e 1.5.2中修复。这是一个可用的发行版,可以从http://download.eclipse.org/technology/m2e/releases/安装。

(不需要更改整个工作空间或特定启动配置的JVM参数。)


1
我得到: 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 +其他
Mykel Alvis

最新的1.5.X版本应该在这里:download.eclipse.org/technology/m2e/milestones/1.5
cyfur01 2015年

7

在JVM选项中定义如下:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
我在哪里可以在Eclipse中准确设置项目的JVM选项?
鲍勃

1
PROJECT_DIR比M2_HOME更有意义。
atamanroman 2015年

1
该变量不存在-您实际上要引用的是$ PROJECT_LOC
specializt

3

如果您在命令行上收到此错误消息,请验证PATH变量是否与apache-maven-3.X.X/binM2_HOME变量指向同一maven安装文件夹。就我而言,我混淆了两个版本,导致了此错误。


2

转到运行配置,创建新的maven build启动配置,在第一个选项卡中填写基本目录和目标,然后转到jre tab并添加vm args到此配置:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

M2_HOME环境变量指向您的maven安装的基本目录在哪里




0

我在智能14上遇到了同样的问题,我尝试了论坛提供的不同解决方案,但没有解决。我所做的是我完全卸载了intellij并安装了intellij 15.0.1并导入相同的项目,然后一切正常。


0

为了maven.multiModuleProjectDirectory在Maven中永久设置属性,我添加了一个默认的激活配置文件,该配置文件使用文件中的MAVEN_HOME环境变量来初始化该属性settings.xml。或者,您也可以使用M2_HOME环境变量。

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.