我从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
系统属性未设置,但我不知道如何设置...
答案 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)
我在这些工具版本中遇到了同样的错误:
通过添加VM参数解决它(-Dmaven.multiModuleProjectDirectory = MAVEN_HOME_PATH)
答案 3 :(得分:5)
如果先前评论中的变体不起作用:
-Dmaven.multiModuleProjectDirectory =项目根
你可以用引号来试试这个:
-Dmaven.multiModuleProjectDirectory = "项目根"
这正是帮助我的原因。
答案 4 :(得分:0)
答案 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。