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

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

我目前的设置是运行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有关,但我不相信。 请有人请说清楚这个吗?

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

 -Dmaven.multiModuleProjectDirectory=$M2_HOME 

到VM选项。

在此处输入图像描述

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

 MAVEN_OPTS = -Dmaven.multiModuleProjectDirectory 

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

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