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

nul*_*ull 24 java intellij-idea maven 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"
Run Code Online (Sandbox Code Playgroud)

我认为这意味着一切正常,但当我去我的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
Run Code Online (Sandbox Code Playgroud)

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

一次搜索让我相信它可能与Maven版本和IDE有关,但我不相信.请有人请说明一下吗?

Fel*_*ele 57

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

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

到VM选项.

在此输入图像描述

  • 我已经购买了IDEA 12的许可证,该解决方案也适用于我.谢谢. (3认同)

Ism*_*ath 7

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

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