java - 在 MAC 上升级到 JDK 8 后出错

标签 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

最佳答案

看起来好像安装了新的 JDK,但是您的 JAVA_HOME 环境变量似乎未设置,或者仍设置为使用 JDK 7。

要查看它的当前值,可以执行echo $JAVA_HOME

要更新当前终端 session 的值,您可以执行 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

如果您希望每次启动新的终端 session 时都运行上面的代码片段,您可以输入以下内容,这会将其附加到您的 .profile

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

第二行将获取 .profile 行以加载其中设置的变量。

干杯,快乐编码。

关于java - 在 MAC 上升级到 JDK 8 后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30607922/

相关文章:

objective-c - 检查 Directory 是否是 OSX 中 Objective C 中的挂载点

java - equals()方法未从文件中检测到单词

java - 将附近的位置聚集到一个点并忽略较远的位置

xcode - c++ 线程本地存储 clang-503.0.40 (Mac OSX)

java - SWT:如何在 OS X 上使用带参数的 Program.launch()?

java - 将方法转换为 java 8 lambda

java - spring 4 - 找到接口(interface) org.springframework.test.context.TestContext,但是应该有类

java - 通过反射调用子类的方法

java - 是否有类似于 Integer::sum 的乘法?

java - 减少对java中自定义对象的操作