【发布时间】:2013-03-15 12:23:30
【问题描述】:
好的,我对 Mac 和 OSX 有点陌生,但我选择了一个,以便我可以对我的 Java 程序进行一些故障排除,因为我工作的公司使用 OSX 和 Windows 机器的组合。我遇到的问题是,当我从 Oracle 的网站安装 Java 7 时,它会更新首选项菜单并在双击它们时似乎正确执行 .jar 文件,但终端窗口的版本仍然是 1.6.0_43 并运行由于旧版本,来自终端的相同 .jar 文件会导致运行时错误。
当我导航到 /Library/Java/JavaVirtualMachines/ 时,我看到了一个空文件夹。从我在其他文章中看到的情况来看,Java 1.7.0 的版本文件夹应该位于此处。知道发生了什么吗?如何让终端使用正确版本的 Java?
编辑:@DWilches 对他的原始答案发表评论: (1)
total 64
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.6.0 -> CurrentJDK
drwxr-xr-x 8 root wheel 272 Mar 17 21:38 A
lrwxr-xr-x 1 root wheel 1 Mar 17 21:38 Current -> A
lrwxr-xr-x 1 root wheel 59 Mar 17 21:38 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
(2)
ls -ld /usr/bin/java
lrwxr-xr-x 1 root wheel 74 Mar 17 21:38 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
编辑:对于新答案的错误感到抱歉,太习惯了在这么长时间后阻止编辑原始帖子的网站......
【问题讨论】:
-
Mac OSX 上的 Java 集成是一团糟,因为 Apple 停止了官方支持,而 Oracle 并不真正知道或关心如何正确集成。如果在 /Library/Java/JavaVirtualMachines 中找不到 Java 7,请查看 /System/Library/Frameworks/JavaVM.framework/Versions。它应该作为独立目录存在或链接到
Current。 -
很简单 - 苹果代码,只有苹果代码在 /System 中,所有用户的第三方都在 /Library 中
-
@DGolberg - 你到底安装了什么 Java 甲骨文提供了 JRE 和 JDK
-
@Mark 我安装了 JRE
-
从 Java 8 开始,这对于 Oracle Java 应该有很大改进。