在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
答案 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