2017-08-02 48 views
0

我使用的是Mac機本機腳本開發更新的Java SDK在Mac和在執行程序的扔給它的Java錯誤是:從可用不同版本

javac的版本1.6.0_65不支持的。您必須安裝至少1.8.0

所以我開發機&上可用的安裝版本檢查發現了兩個不同的版本細節:

/usr/bin/java -version顯示1.6。

system preference -> java control panel -> update.表現V1.8

任何建議,爲什麼是兩個版本!我在這裏錯過了什麼嗎?

更新1繼有助於瞭解如何MAC處理這個:/usr/bin/java是機器默認位置,並且/Library/Internet..這是管理的明確。

sudo rm /usr/bin/java 
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin 

在我的情況下,我更新默認的一個從互聯網下載。

參考鏈接Link1Link2

+0

雖然,主要問題已修復。但仍然爲什麼mac管理多個java版本,這很混亂,目的是什麼? – CoDe

回答

1

您應該使用/usr/libexec/java_home代替

> /usr/libexec/java_home 
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home 

,你可以用它來設置JAVA_HOME

export JAVA_HOME=$(/usr/libexec/java_home) 

然後,你可以把這個裏面~/.profile所以你總是將JAVA_HOME設置爲最接近的nt釋放。

+0

你可能是對的。所以在我的情況下,因爲我將_/Library/Internet /.._移動到_/usr/bin/_這樣簡單的java -version給了我最新的一個從互聯網下載的。但_ _ usr/libexec/java_home_仍包含1.7最高版本。所以無論誰使用環境變量JAVA_HOME他們都只得到V1.7。任何建議在這裏。 – CoDe

+1

從Oracle的頁面:「不要試圖通過從/ usr/bin中移除Java工具來卸載Java的這個目錄是系統軟件的一部分,任何更改將蘋果執行操作系統的更新,下一次復位。 「無論何時您觸摸這些文件,都可以更改它們。我建議從Oracle安裝JDK並將JAVA_HOME設置爲最新版本。 – mko

+0

如何保持所有版本相同,這是否真的需要保持多個版本? – CoDe