Java 版本在 GUI 和命令行中不同

Java 版本在 GUI 和命令行中不同

在我的 Mac 上,我有两种不同的激活 JAVA 版本指示

$ uname -a
Darwin Mr-MBP.lan 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64 x86_64

通过命令行

$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

不幸的是通过 GUI

在此输入图像描述

GUI java指示为1.8

所以我尝试通过命令来执行此操作,但是它找不到 1.8 版本(它也不在 JVM 的目录中)

$ ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_45.jdk
$ /usr/libexec/java_home  -v 1.8.0_45 --exec javac -version
Unable to find any JVMs matching version "1.8.0_45".
javac 1.7.0_45

重新启动并没有解决问题。

有人有什么建议吗?

谢谢。

答案1

感谢黄鼠狼男孩

参考:来源

Java 有两个部分。

OS X 使用 JRE(您使用的是 1.7)在 Mac 上运行 Java 应用程序。

然后是 Java Web 插件(您使用的是 1.8),用于在网页上运行 Java。

如果您想更新两者,则需要安装完整的 JDK。

也就是说,你现在所发生的事情确实没有任何问题。您需要最新的插件来解决安全问题,但使用 JRE 来运行本地应用程序,有些人会保留旧版本,因为他们的应用程序可能无法在较新的版本上运行。

对于我自己来说,这仍然有点令人困惑。读完这篇文章后,我有点困惑,因为我没有安装另一个版本(现在更新jdk之前),或者网络插件...... http://www.javatpoint.com/difference- Between-jdk-jre-and-jvm

相关内容