Oracle的JDK 7 for Mac安装不一致,如何彻底摆脱旧的Apple JDK?

时间:2013-01-31 16:58:20

标签: macos java

在苹果公司摆脱“Java偏好”工具之后,是否有一种干净的方法可以修复留下符号链接的乱七八糟的Java工具仍然指向旧Apple的JDK?

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

当我做“哪个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?

3 个答案:

答案 0 :(得分:1)

正确的答案是了解软链接和指针的工作原理,而不仅仅是删除版本。起初它似乎有点循环,但它非常简单。解释here。这是一个更好的解释:Mac OS X 10.6.7 Java Path Current JDK confusing

答案 1 :(得分:0)

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

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

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

有关详细信息,请参阅java_home手册页。

答案 2 :(得分:0)

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

在此处查看关联的答案:Need help understanding Oracle's Java on Mac