Maven,JAVA_HOME w / OS X.

时间:2010-01-06 13:51:09

标签: java macos maven-2

尝试让Maven,Java和OS X一起玩得很好 - 我在Linux和Windows机器上多次没有遇到过问题。我假设我需要做的就是下载Maven,设置我的环境变量,我会很好。所以这是我的.bash_profile的片段......

export JAVA_HOME=/Library/Java/Home/  
export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1  
export PATH=$PATH:$M2_HOME/bin

JAVA_HOME设置是Apple建议在this Q&A page上使用的设置。然而,在启动终端并运行mvn --version之后,这是输出......

Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)  
Java version: 1.6.0_17  
Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home  
Default locale: en_US, platform encoding: MacRoman  
OS name: "mac os x" version: "10.6.2" arch: "x86_64" Family: "mac"

任何想法为什么我的.bash_profile中的JAVA_HOME设置被Maven忽略了?它导致了问题,因为在rt.jar Maven使用的JAVA_HOME中找不到{{1}}之类的内容。我可以通过在Maven正在使用的家中创建符号链接和其他hackery来解决这个问题,但我宁愿让它正常工作,因为这会在下次Apple推送Java更新时爆炸。谢谢你的帮助...

5 个答案:

答案 0 :(得分:11)

问题是JavaVm.framework版本中的符号链接“CurrentJDK”指向旧的jdk,因此当我使用以下命令将CurrentJDK设置为最新的(1.7.0_45)时,它可以工作

cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents CurrentJDK

参考: http://java.dzone.com/articles/installing-jdk-7-mac-os-x

答案 1 :(得分:8)

在Mac OS X上,您应该使用/ usr / libexec / java_home来确定正确的JAVA_HOME。

请参阅What should I set JAVA_HOME to on OSX

答案 2 :(得分:2)

在我的Mac上,/ Library / Java / Home是一个符号链接(实际上是一系列符号链接的开头),最终指向/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home。所以我认为maven不会忽视任何事情。它只是给你实际的位置。

答案 3 :(得分:1)

我有相同的设置,一切正常。 UNSET shell脚本中的“JAVA_HOME”环境变量。 Mac安装会解决这个问题。无论如何你都错了。

取消设置,获取文件或启动shell,然后重试。

答案 4 :(得分:-3)

我要检查的第一件事是mvn是否是一个脚本。如果是,你可以看到它是如何采购环境的。如果不是,我会寻找通常名为.mvnrc的任何配置文件,或/ etc中的某些配置文件。当然,RTFM不会受到伤害!