使用Maven和IntelliJ时,“-Dmaven.multiModuleProjectDirectory未设置”问题

时间:2015-05-01 08:18:03

标签: java maven intellij-idea intellij-13

我花了很长时间试图弄清楚我做错了什么,并希望有人可以提供帮助。

我目前的设置是运行Maven 3.3.3(通过自制程序)和Java 1.8。 IntelliJ 13是首选的IDE。

运行mvn -version会产生以下结果:

Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-
22T12:57:37+01:00)
Maven home: /usr/local/Cellar/maven/3.3.3/libexec
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.2", arch: "x86_64", family: "mac"

我认为这意味着一切正常,但当我进入我的IDE并尝试运行Maven项目时,我收到此错误:

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java -Dmaven.home=/usr/local/Cellar/maven/3.3.3/libexec -Dclassworlds.conf=/usr/local/Cellar/maven/3.3.3/libexec/bin/m2.conf -Didea.launcher.port=7539 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 13.app/bin" -Dfile.encoding=UTF-8 -classpath "/usr/local/Cellar/maven/3.3.3/libexec/boot/plexus-classworlds-2.5.2.jar:/Applications/IntelliJ IDEA 13.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=13.1.3
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
Process finished with exit code 1

我的M2_HOME var设置为/usr/local/Cellar/maven/3.3.3/libexec,与homebrew安装它的目录相同,这也与IDE设置相匹配。

一次搜索让我相信它可能与Maven版本和IDE有关,但我不相信。有人可以请一点解决这个问题吗?

3 个答案:

答案 0 :(得分:56)

如果您再次遇到该错误,请转到Settings -> Maven -> Runner并添加

-Dmaven.multiModuleProjectDirectory=$M2_HOME

到VM选项。

enter image description here

答案 1 :(得分:6)

我在尝试使用Maven构建CAS覆盖模板时遇到了这个有线问题。我可以通过添加以下环境变量来解决它:

MAVEN_OPTS = -Dmaven.multiModuleProjectDirectory

答案 2 :(得分:0)

从最初的问题来看,OP已经通过这种方法解决了他们的问题。

  

我升级到IDEA 14,导入设置,创建了一个新的Spring项目,它开箱即用。