我在 OS X 上使用 Java 已经很多很多年了,最近当 Apple 停止默认包含 Java 时,我让操作系统去为我安装它(当然是 Apple 的品种)。
所以现在我使用的是 OS X 10.8,我需要安装 Java 7,所以我刚刚获得了 DMG 形式的 Oracle 更新 15 并运行了安装程序。它更新了我的 /usr/bin/java (和相关文件)指向这里:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
将其追溯到“/System/Library/Frameworks/JavaVM.framework/Versions”,所有内容都指向“Current”或“CurrentJDK”,前者是指向“A”的链接(据我所知,这是 Oracle 的 Java 7告诉,不知道为什么它是'A'),后者是'/System/Library/Java/JavaVirtualMachines/1.6.0.jdk'中Apple Java 6的链接。
现在这一切都非常令人困惑,但这甚至还不是我的问题。这里似乎安装了 Java 7:
/System/Library/Frameworks/JavaVM.framework/Versions/A
但这里也安装了 Java 7:
/Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk
在两者中找到“java”并打印出版本会产生相同的版本和构建(java 版本“1.7.0_15”),但是,在对文件进行哈希处理时它们是不同的。
那么这是否意味着 Oracle 在两个不同的地方安装了 Java 7?如果是这样,为什么?我应该使用哪个?为什么有些事情仍然指向 Java 6 (CurrentJDK)。
我查看了甲骨文的网站,但没有任何东西可以清除。