2015-06-02 88 views
3

在Mac上升級到JDK 8後,當我嘗試檢查Java版本時,出現以下錯誤。任何人都可以幫我理清一下嗎?在MAC上升級到JDK 8後出現錯誤

MAC30880443:Versions t821714$ java -version 
Error occurred during initialization of VM 
java/lang/ClassNotFoundException: error in opening JAR file <Zip file open error> /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed/jaxb-api-2.2.12.jar 
+0

指定的文件路徑是否存在?我的猜測不是。您必須錯過依賴性,或者您之前擁有的依賴性與JDK8不兼容。 –

+0

我認爲它確實存在。它看起來像是指向舊版本 - jdk1.7.0_75.jdk而不是新安裝的版本。 –

+0

哦,是的,看看那個。 你是否已將'$ JAVA_HOME'環境變量改爲指向java 8 jdk? –

回答

3

這看起來好像新的JDK已經安裝,但是你的JAVA_HOME環境變量似乎是要麼未設置,或仍設置爲使用JDK 7

要檢查它的當前值,你可以執行echo $JAVA_HOME

要更新當前的終端會話的值,你可以執行export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

如果你想在上面的代碼片段,以每次啓動一個新的終端會話時,您可以輸入以下內容,將它添加到您的.profile

echo "export /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home" >> ~/.profile 
. ~/.profile 

第二行將來源,.profile文件行加載其中設置的變量。

乾杯,快樂的編碼。

2

看起來你的Java路徑會搞砸了,將它變化的基礎上的OS版本,以便看看here,並確保它是否設置正確。

,如果你正在運行的操作系統10+所有你需要做的就是

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile 

,或者如果你認爲你知道的比蘋果更好,相信你的JAVA_HOME是在默認位置,用途:

echo "export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home" >> ~/.bash_profile 

然後做

source ~/.bash_profile 

也確保Java的8設爲您的喜好的頂部。 (實用程序 - > Java首選項 - >常規)。如果它不在那裏,單擊並拖動它到列表的頂部,否則你可能會繼續使用舊版本的java

+0

嗨Epicblood,請不要使用Link Only答案。請點擊[編輯]並將鏈接中的相關內容添加到您的帖子正文中。 –

相關問題