IntelliJ Idea 14中的Maven 3.3.1配置错误

时间:2015-03-19 04:23:43

标签: intellij-idea maven-3 intellij-14

我从http://maven.apache.org/download.cgi获得了maven .tar文件,并将其安装到路径/ usr / local /。我在新窗口中运行mvn -version命令,输出正确。下面是我主目录中的.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 -version如下:

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

系统属性未设置,但我不知道如何设置...

7 个答案:

答案 0 :(得分:73)

打开IntelliJ设置对话框。

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

答案 1 :(得分:20)

这是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。

答案 2 :(得分:16)

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

  1. Apache的行家-3.3.1
  2. Eclipse:带有M2Eclipse 1.5.0的Luna Service Release 2(4.4.2)
  3. java:1.8.0_31
  4. 通过添加VM参数解决它(-Dmaven.multiModuleProjectDirectory = MAVEN_HOME_PATH)

答案 3 :(得分:5)

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

-Dmaven.multiModuleProjectDirectory =项目根

你可以用引号来试试这个:

-Dmaven.multiModuleProjectDirectory = "项目根"

这正是帮助我的原因。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

这个线程是重要的线程,非常有用所以我添加了这个解决方案。 我将此行添加到maven runner并且它与我合作

    -Dmaven.multiModuleProjectDirectory=$M2_HOME

注意到,在windows OS的情况下,M2_HOME是在maven home的环境变量中定义的。

答案 6 :(得分:0)

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

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

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

  

此变量包含用于启动JVM运行的参数   Maven可以用来为全球提供额外的选项   Maven的。例如。可以使用该值定义JVM内存设置   -Xms256m -Xmx512m。

您可以参考此链接 https://maven.apache.org/configure.html