Maven 和 IntelliJ 的“-Dmaven.multiModuleProjectDirectory 未设置”问题
`-Dmaven.multiModuleProjectDirectory not set` issue with Maven and IntelliJ
我花了很多时间试图找出我做错了什么,希望有人能提供帮助。
我当前的设置是 运行ning 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 选项。
从最初的问题来看,OP 已经通过这种方法解决了他们的问题。
I upgraded to IDEA 14, imported settings, created a new Spring project and it worked out of the box.
我在尝试使用 Maven 构建 CAS 覆盖模板时遇到了这个有线问题。我可以通过添加以下环境变量来解决它:
MAVEN_OPTS = -Dmaven.multiModuleProjectDirectory
我花了很多时间试图找出我做错了什么,希望有人能提供帮助。
我当前的设置是 运行ning 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 选项。
从最初的问题来看,OP 已经通过这种方法解决了他们的问题。
I upgraded to IDEA 14, imported settings, created a new Spring project and it worked out of the box.
我在尝试使用 Maven 构建 CAS 覆盖模板时遇到了这个有线问题。我可以通过添加以下环境变量来解决它:
MAVEN_OPTS = -Dmaven.multiModuleProjectDirectory