Eclipse错误设置Maven项目进行类练习:检查$ M2_HOME环境变量和mvn脚本匹配

gre*_*ham 18 java eclipse maven

我在这方面找到了一些相关问题,但它们都与Intellij或Mac OS有关.我在Windows 8.1上使用Eclipse:

面向Web开发人员的Eclipse Java EE IDE.版本:Luna Service Release 2(4.4.2)Build id:20150219-0600

Maven 3.3.1

按照课程的指示设置了"运行方式"参数,但是当我尝试运行时收到以下错误消息:

-Dmaven.multiModuleProjectDirectory系统propery未设置.检查$ M2_HOME环境变量和mvn脚本匹配.

mvn -version的输出如下,似乎是正确的.

Apache Maven 3.3.1(cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T16:10:27-04:00)

Maven主页:C:\ Program Files\Apache Software Foundation\apache-maven-3.3.1 Java版本:1.7.0_75,供应商:Oracle Corporation

Java home:C:\ Program Files\Java\jdk1.7.0_75\jre

默认语言环境:en_CA,平台编码:Cp1252

操作系统名称:"windows 8.1",版本:"6.3",arch:"amd64",系列:"windows"

对于Maven和Eclipse,我是一个完整的新手.任何帮助表示赞赏.

小智 49

转到:窗口 - >首选项 - > Java - >已安装的JRE - >编辑在编辑中需要放置的默认VM参数如果已经为Windows机器设置了maven home:

-Dmaven.multiModuleProjectDirectory=M2_HOME
Run Code Online (Sandbox Code Playgroud)

对于Linux和Mac OS X:

-Dmaven.multiModuleProjectDirectory=$M2_HOME
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Maven 3.x,则该变量名为$ MAVEN_HOME

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME
Run Code Online (Sandbox Code Playgroud)


gre*_*ham 15

我设法为此制定了解决方案.

1)我不得不运行配置并向VM添加参数.(运行 - 运行配置 - JRE选项卡 - VM参数).在文本框中输入以下内容

 -Dmaven.multiModuleProjectDirectory=%M2_HOME%
Run Code Online (Sandbox Code Playgroud)

您需要使用%M2_HOME%或类似的东西来表示Maven的路径,因为当我直接添加我的路径到该参数时,它无法找到它.我认为这是因为论证有一个长度限制.我的道路是

C:\Program Files\Apache Software Foundation\apache-maven-3.3.1
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,指出它无法在Program Files\Apache中找到运行时

2)使用C:\ Program Files\Apache Software Foundation\apache-maven-3.3.1设置一个名为M2_HOME的系统环境变量

控制面板 - 系统和安全 - 系统 - 高级系统设置 - 环境变量 - 系统变量 - 新增功能


小智 2

您并不是唯一遇到这种情况的人。我最近也迁移到 3.3.1,并且遇到了同样的问题。

这不是最好的答案,但今天可能会对您有所帮助。尝试返回到最新的 3.2.x。(当前为3.2.5)

我感觉它与MNG-5767以及最近进行的更改有关。m2e 更新中可能有一些功能,或者可能与您的 Maven 项目的结构有关。如果没有更多细节,很难说清楚。