Maven home(M2_HOME)没有被IntelliJ IDEA接收

时间:2011-08-13 22:20:15

标签: macos maven intellij-idea osx-lion

我正在尝试使用OS X Lion上的IntelliJ IDEA 10.5.1进行简单的maven构建,并收到以下错误:

  

运行my-app [package]时出错:找不到有效的Maven安装。   在配置对话框中设置主目录或设置   系统上的M2_HOME环境变量。

我已将M2_HOME设置为以下内容,但我仍然遇到问题。是的,我确实重启了IntelliJ。

$ echo $M2_HOME
/usr/share/maven

然后我在IntelliJ的Maven设置中为项目手动输入了maven的路径。这不是我想要为每个项目做的事情,所以有什么我想知道如何让IntelliJ知道我的maven家在哪里?

7 个答案:

答案 0 :(得分:28)

Mac OS应用无法读取bash环境变量。查看此问题Setting environment variables in OS X?以向所有应用程序(包括IntelliJ)公开M2_HOME。执行此操作后,您需要重新启动。

答案 1 :(得分:20)

输入终端:

$ mvn --version

然后获得以下结果:

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 16:51:28+0300)
Maven home: /opt/local/share/java/maven3
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: ru_RU, platform encoding: MacCyrillic
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"

在第二行我们有:

Maven home: /opt/local/share/java/maven3

在配置对话框中将此路径键入字段。这一切都要解决!

答案 2 :(得分:11)

另一种选择是在IntelliJ IDEA=>Preferences=>IDE Settings=>Path Variables

添加M2_HOME变量

重新启动IntelliJ后,IntelliJ IDEA=>Preferences=>Project Settings=>Maven=>Maven home directory应设置为您的M2_HOME变量。

答案 3 :(得分:8)

得到这个答案?可能上面的答案很长......

输入:

echo "setenv M2_HOME $M2_HOME" | sudo tee -a /etc/launchd.conf

然后重启你的mac(就是这样!)

重启是烦人的?只需使用命令:

grep -E "^setenv" /etc/launchd.conf | xargs -t -L 1 launchctl

并重新启动IntelliJ IDEA

答案 4 :(得分:7)

如果M2_HOME配置为指向Maven主目录,则:

  1. 转到File -> Settings
  2. 搜索Maven
  3. 选择Runner
  4. 在字段VM Options中插入以下字符串:

    Dmaven.multiModuleProjectDirectory=$M2_HOME
    
  5. 点击ApplyOK

答案 5 :(得分:3)

如果您在OSX 10.9.4上使用maven 3的自制安装遇到此问题,请查看此blog post

答案 6 :(得分:2)

如果您不想使用M2_HOME并希望将IntelliJ定向到maven安装,您可以通过以下方式进行设置:

  • 转到文件=>设置=> Maven => Maven主目录
  • 指向您的maven构建目录,例如/usr/local/maven/apache-maven-3.0.4

更好的方法是使用符号链接,例如'最新'对于最新版本,并指出您的IntelliJ使用它来保持一致性,给出最新版本的maven安装在盒子上的最新版本。