mountain
显然,在升级过程中卸载Java的原因是Java运行时存在的安全问题。通过这种方式,您不得不安装可解决此安全问题的最新版本。
所以我去了/ Applications / Utilities /打开一个终端并执行以下命令:
java -version ==>“没有Java运行时……”
出现一个提示您安装Java的窗口。单击“安装”并获取最新版本。我已经安装了它,但是就在我从Oracle下载并安装了JDK SE 7之后。
安装后,打开Java首选项(Launchapad / Others),您将看到:
现在我知道我有两个Java版本,但我正在使用哪个版本?
$ java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
那么,如果我想使用Oracle的JDK SE 7怎么办?
然后,我只需将Java Preferences窗口中的Java SE 7拖到列表中的第一个位置。
这次 :
$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
我对自己说,让我们了解更多有关如何在OS X上安装Java的信息,因此我进行了更多研究。
有一些非常有用的命令: whereis和which和ls -l 。
whereis java ==> /usr/bin/java
ls -l /usr/bin/java ==> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
当我看到此消息时,我有点好奇,所以我列出了Versions目录:
cd /System/Library/Frameworks/JavaVM.framework/Versions
ls ==>
1.4 1.5 1.6 A CurrentJDK
1.4.2 1.5.0 1.6.0 Current
现在,为什么我的计算机上装有Java的旧版本? 所以我问了Ask Different
http://apple.stackexchange.com/questions/57986/multiple-java-versions-support-on-os-x-and-java-home-location
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8.1
BuildVersion: 12B19
$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x 1 root wheel 10 Sep 16 15:55 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 16 15:55 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 16 15:55 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 16 15:55 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 16 15:55 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Sep 16 15:55 1.6.0 -> CurrentJDK
drwxr-xr-x 7 root wheel 238 Sep 16 16:08 A
lrwxr-xr-x 1 root wheel 1 Sep 16 15:55 Current -> A
lrwxr-xr-x 1 root wheel 59 Sep 16 15:55 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
似乎所有旧版本都链接到AppleJ版本的CurrentJDK版本,但A和Current链接到AI除外,对此问题有所了解。对我来说A就像一个临时变量。 如果在Java首选项中将Apple A的Java 6设置在第一个位置,而将Oracle A的Java SE 7放在第一个位置,则将Apple的Java 6指向此版本。当前指向A。
/java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
./java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
因此,这意味着在当前目录中,它将指向在Java首选项中找到的第一个Java版本。
一个非常有趣的事情是以下信息
lrwxr-xr-x 1 root wheel 59 Sep 16 15:55 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
这意味着来自Apple的Java实际上安装在这里:“ / System / Library / Java / JavaVirtualMachines / 1.6.0.jdk /”
Java SE 7呢? 我可以搜索文件系统来查看,但是找到了一种更简单的方法:
如果在Java Preferences中的第一个位置是Java SE 7 ==>
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
如果在Java Preferences中的第一个位置是Java SE 6(系统)==>
$ /usr/libexec/java_home
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
因此,Mountain Lion(OSX)上的Java更有可能安装在以下位置之一:
- /系统/库/ Java / JavaVirtualMachines
- /图书馆/ Java / JavaVirtualMachines
- 〜/库/ Java / JavaVirtualMachines
/System/Library/Frameworks/JavaVM.framework/Versions呢?
似乎链接到所谓的“ Java桥 ”。这里似乎是OSX安装上Java的本机部分。
参考: Java Code Samples博客上的JCG合作伙伴 Cristian Chiovari提供了OS X Mountain Lion上Java的多个版本 。
翻译自: https://www.javacodegeeks.com/2012/09/multiple-versions-of-java-on-os-x.html
mountain