如何在 OS X 上设置 JRE 8?

如何在 OS X 上设置 JRE 8?

我正在运行 OS X Lion。它附带 JRE6。我想安装 JRE8。我可以在此处下载 Oracle 所说的 JRE 8 文件:

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

当我在命令行上检查我的 Java 版本时(安装 JRE 8 后),我得到了这个:

hostname:~ username$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

hostname:~ username$ which java
/usr/bin/java

hostname:~ username$ ls -al /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 Dec 20  2013 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

这匹配其他人看到了什么。因此,我按照建议将 JAVA_HOME 添加到 ~/.profile。此修复已修复java -version,它现在报告 Java 8。但是,非命令行应用程序仍使用 Java 6。如果我运行 Eclipse Luna CDT,它会报告:

“JVM 版本 1.6.0_65 不适用于该产品。需要版本 1.7 或更高版本。”

这是有道理的——当我双击 Eclipse 时,我的 Bash shell 甚至没有运行。

我如何实际上安装 JRE 8?

答案1

您可以从 Java 控制面板查看和管理 JRE 版本。

[Apple 图标菜单] > 系统偏好设置 > Java

这将启动 Java 控制面板作为单独的应用程序,该应用程序将接管前台应用程序。

Java 控制面板 > Java > 查看…

您应该能够从那里找到答案。

答案2

无奈之下,我安装了JDK。这解决了问题。java -version给出了正确的版本。Eclipse CDT 现在运行并使用 Java 8。此外,我不需要设置 JAVA_HOME 环境变量。

我不需要 JDK,只需要 JRE,因为我正在运行 Eclipse CDT(我正在开发 C 代码,而不是 Java)。但是,安装 JDK 除了安装 JRE 浏览器插件外,还会在此处安装 JRE: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

如果有人能告诉我如何让桌面 Java 应用程序(Eclipse、Lotus Notes 等)使用 Java 8 JRE没有安装 JDK——这将是更好的答案。

仅供参考,这是我发现的有关 Java 实际启动方式的信息:

/usr/bin/java是 的符号链接/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

/System/Library/Frameworks/JavaVM.framework/Versions/Current是指向/System/Library/Frameworks/JavaVM.framework/Versions/A

请注意,/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/bin/java/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java是两个不同的可执行文件(它们的大小不同)。但是,两者都会报告它们是 Java 版本 8。我发现它们使用框架/System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunchingexec安装最新版本的 Java。

相关内容