IntelliJ Idea 14 中的 Maven 3.3.1 配置错误

Maven 3.3.1 Config Error in IntelliJ Idea 14

我从 http://maven.apache.org/download.cgi 获取了 maven .tar 文件,并将其安装到路径 /usr/local/。我在新的运行 mvn -version 命令window,输出是正确的。下面是我的主目录中的 .bash_profile:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk7/Contents/Home  
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
PATH=$JAVA_HOME/bin:$PATH:  
export JAVA_HOME  
export CLASSPATH  
export PATH  
M2_HOME=/usr/local/maven  
M2=$M2_HOME/bin  
PATH=$M2:$PATH  
export M2_HOME    
export M2  
export PATH

mvn 版本如下:

BianFranks-MacBook-Pro:~ Frank$ mvn -version  
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-    14T04:10:27+08:00)  
Maven home: /usr/local/maven  
Java version: 1.7.0_72, vendor: Oracle Corporation  
Java home: /Library/Java/JavaVirtualMachines/jdk7/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"

但是在Intellij IDEA 14中通过Maven清理模块时出现提示:

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

系统属性没有设置,不知道怎么设置...

打开 IntelliJ 设置对话框。

在 Maven-->Runner 选项中设置以下 VM 选项: -Dmaven.multiModuleProjectDirectory=项目根目录

这是 IntelliJ 14.0.3 和 14.1 中的 known bug in IntelliJ(如 @Frank 所示)。

它将在 IntelliJ 14.0.5 和 14.1.1 中修复。

如果您现在需要修复,您可以下载并安装特定的修复 described in the issue

或者,如果您不需要最新的 maven 3.3.1,您可以回退到较早版本的 maven。

我在使用这些工具版本时遇到了同样的错误:

  1. apache-maven-3.3.1
  2. Eclipse:带有 M2Eclipse 1.5.0 的 Luna 服务版本 2 (4.4.2)
  3. java: 1.8.0_31

通过添加 VM 参数解决它 (-Dmaven.multiModuleProjectDirectory= MAVEN_HOME_PATH)

与 Luna Service Release 2 (4.4.2) 相同,以下是我遵循的步骤:

  1. 转到 - 运行 配置 - 在 JRE 选项卡下 - 键入 -Dmaven.multiModuleProjectDirectory=

此解决方案由 sheltem Mar 提供...谢谢

  1. 转到 运行 JRE 选项卡下的配置
  2. 类型(在 VM 参数文本字段中) "-Dmaven.multiModuleProjectDirectory="

如果之前评论的变体不起作用:

-Dmaven.multiModuleProjectDirectory=项目根目录

你可以用引号试试这个:

-Dmaven.multiModuleProjectDirectory="project root"

这正是对我有帮助的。

这个帖子很重要,非常有用,所以我添加了这个解决方案。 我将这一行添加到 maven runner 并且它适用于我

    -Dmaven.multiModuleProjectDirectory=$M2_HOME

请注意,在 windows OS.

的情况下,M2_HOME 是在 maven home 的环境变量中定义的

如果你不依赖外部IDE,记得把这个放在MAVEN_OPTS,像这样(Linux)

export MAVEN_OPTS=-Dmaven.multiModuleProjectDirectory=<your path> 

从 Apache Maven 的文档中,了解这个变量很好:

This variable contains parameters used to start up the JVM running Maven and can be used to supply additional options to globally to Maven. E.g. JVM memory settings could be defined with the value -Xms256m -Xmx512m.

你可以参考这个link https://maven.apache.org/configure.html