最近买了mac,还在熟悉中。安装环境过程中,发现了一些问题。这里说一下java_home的问题。
1.mac自带jdk为1.6,在命令行查看java -version,显示为1.6。
2.下载oracle的jdk1.7,安装后,命令行查看java -version。显示为1.7。
到这里时我以为已经完成了,结果出现下面的“怪事”。
3.下载maven后,运行mvn -version。结果显示jdk为1.6。
这就奇怪了,后来查了下,才知道其中原因。
在mac os下,java有好几处链接。
1.直接在命令行运行java -version时使用的是/usr/libexec/java_home。此处可以设置,安装jdk1.7后显示为这个命令。
2.但原来的java位置为
/System/Library/Java/JavaVirtualMachines/1.6.0.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
来源:oschina
链接:https://my.oschina.net/u/127182/blog/217183