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

相關文章
相關標籤/搜索