在MAC上升级到JDK 8后出错

时间:2015-06-02 22:47:44

标签: java macos java-8

在Mac上升级到JDK 8后,当我尝试检查java版本时出现以下错误。任何人都可以帮我解决一下吗?

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

2 个答案:

答案 0 :(得分: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行以加载其中设置的变量。

干杯,快乐的编码。

答案 1 :(得分:2)

看起来你的java PATH搞砸了,根据操作系统版本设置它会有所不同,所以看看here并确保设置正确。

如果您正在运行os 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设置在首选项的顶部。 (实用程序 - &gt; Java首选项 - &gt;常规)。如果不存在,请单击并将其拖动到列表顶部,否则您可能会继续使用旧版本的java