3

在 Apple 摆脱“Java Preferences”工具之后,是否有一种干净的方法来解决仍然指向旧 Apple JDK 的 Java 工具的符号链接留下的混乱?

我已经设置了我的 JAVA_HOME=$(/usr/libexec/java_home)

当我执行“which java”时,它看起来不错

gubatrons-macbook-pro-3:frostwire-desktop gubatron$ which java
/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/java

但是当我尝试执行java时,它仍在使用/usr/bin/中的java

gubatrons-macbook-pro-3:frostwire-desktop gubatron$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

有没有一种干净的方法来摆脱旧的 Apple JDK?

4

3 回答 3

1

正确的答案是了解软链接和指针是如何工作的,而不仅仅是删除版本。乍一看似乎有点绕圈子,但它非常简单。在这里解释。这是一个更好的解释:Mac OS X 10.6.7 Java Path Current JDK混淆

于 2013-01-31T17:15:26.633 回答
0

欢迎来到史蒂夫乔布斯的最后一笑:java in/usr/bin实际上是一个指向真正 java 的存根;实际上只有一个版本的 JVM 在使用中

在此处查看链接的答案:需要帮助了解 Mac 上的 Oracle 的 Java

于 2013-10-10T01:29:02.830 回答
0

到目前为止,这对我有用:

JAVA_HOME=`/usr/libexec/java_home -v 1.6`

这会强制使用系统上安装的最新版本的 Java 1.6。

有关更多详细信息,请参见java_home手册页。

于 2013-02-05T12:12:30.690 回答