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