最近买了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