MAC下java_home问题

最近买了mac,还在熟悉中。安装环境过程当中,发现了一些问题。这里说一下java_home的问题。 java

1.mac自带jdk为1.6,在命令行查看java -version,显示为1.6。 oracle

2.下载oracle的jdk1.7,安装后,命令行查看java -version。显示为1.7。 maven

到这里时我觉得已经完成了,结果出现下面的“怪事”。 spa

3.下载maven后,运行mvn -version。结果显示jdk为1.6。 命令行

这就奇怪了,后来查了下,才知道其中缘由。 code

在mac os下,java有好几处连接。 blog

1.直接在命令行运行java -version时使用的是/usr/libexec/java_home。此处能够设置,安装jdk1.7后显示为这个命令。 io

2.但原来的java位置为 class

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk jdk

3.而形成mvn使用的jdk错误是因为目录

/System/Library/Frameworks/JavaVM.framework/Versions

下有一个叫作CurrentJDK的替身(快捷方式)。它还指定在1.6上。

解决办法

cd /System/Library/Frameworks/JavaVM.framework/Versions 
sudo rm CurrentJDK 
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents CurrentJDK
注:默认系统级path能够修改/etc/paths文件。

参考:

http://han.guokai.blog.163.com/blog/static/136718271201301183938165/

http://stackoverflow.com/questions/2013346/maven-java-home-w-os-x

相关文章
相关标签/搜索