Oracle的JDK 7在Mac上安装不一致,如何干净地摆脱旧的Apple JDK?
Oracle的JDK 7在Mac上安装不一致,如何干净地摆脱旧的Apple JDK?
苹果公司取消了“Java Preferences”工具后,是否有一种清理旧版本苹果JDK的符号链接混乱的方法?\n我已经设置了JAVA_HOME=$(/usr/libexec/java_home)\n当我执行“which java”时,看起来正常\n
gubatrons-macbook-pro-3:frostwire-desktop gubatron$ which java /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/java
\n但是当我尝试执行java时,它仍然使用的是/usr/bin/中的java\n
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)
\n是否有一种干净的方法来去除旧版本的苹果JDK?
Oracle's JDK 7 for Mac installation inconsistencies, how to get rid of the old Apple JDK cleanly?
问题的出现的原因:
在Mac上,/usr/bin中的java实际上是一个指向真正java的存根。实际上只有一个版本的JVM在使用。
解决方法:
在Mac上安装Oracle的JDK 7存在一些不一致性,如何清理掉旧的Apple JDK?
问题的出现原因是由于软链接和指针的工作原理不清楚,导致误删版本。这可能一开始看起来有些混乱,但实际上相当简单。
解决方法是先了解软链接和指针的工作原理,而不是直接删除版本。这里有一个解释:here。这里还有一个更好的解释:Mac OS X 10.6.7 Java Path Current JDK confusing。
通过理解软链接和指针的工作原理,我们可以清理掉旧的Apple JDK,确保安装Oracle的JDK 7时不会出现不一致性。