在Mountain Lion之前,Java被捆绑在OS X中。似乎在升级期间,我在计算机上安装的Java 6版本被删除了。
显然,在升级过程中卸载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

因此,可能在以下位置之一安装Java on Mountain Lion(OSX):

  • /系统/库/ 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

OS X Mountain Lion上的多个Java版本相关推荐

  1. mountain_OS X Mountain Lion上的多个Java版本

    mountain 在Mountain Lion之前,Java被捆绑在OS X中.似乎在升级期间,我在计算机上安装的Java 6版本被删除了. 显然,在升级过程中卸载Java的原因是Java运行时存在的 ...

  2. (转)OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程

    如果你是一名 Web 开发者,很多时候都需要在本地搭建服务器测试环境,比如 Apache+Mysql+PHP 这样的环境.事实上 Mac OS X 中想要搭建这样的环境很简单,本文我们就会将详细的教程 ...

  3. [转]OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程

    OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程 [转][url]http://www.guomii.com/posts/30136[/url] 如果你是一名 ...

  4. 读“苹果上周发布了Mac OS X Mountain Lion系统”新闻的感想

    苹果上周发布了Mac OS X Mountain Lion系统,该系统将使得你的桌面电脑更像是一款手机.这种趋势非常明显,桌面操作系统未来将和移动系统进一步融合. 我们先从趋势本身说起.首先,相比此前 ...

  5. VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统(vm9.0和Mac OS10.7)

    本文是转自vmware虚拟机安装Mac os 苹果桌面操作系统 Mac OS X Mountain Lion(版本号为 Mac OS X v10.8)已于今年 7 月 21 日通过 Mac App S ...

  6. VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统

    原文地址:http://www.ychong.com/mac-os-x-mountain-lion-vmware-workstation/ 苹果桌面操作系统 Mac OS X Mountain Lio ...

  7. OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程

    如果你是一名 Web 开发者,很多时候都需要在本地搭建服务器测试环境,比如 Apache+Mysql+PHP 这样的环境.事实上 Mac OS X 中想要搭建这样的环境很简单,本文我们就会将详细的教程 ...

  8. OS X Mountain Lion高手进阶

    <OS X Mountain Lion高手进阶>(全彩) 基本信息 作者: 王飞 出版社:电子工业出版社 ISBN:9787121197321 上架时间:2013-4-7 出版日期:201 ...

  9. VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程

    VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程 之前论坛里的莱茵哈特网友发过一帖:VMware虚拟机安装MAC OS X Mountain Lion详细 ...

最新文章

  1. 洛谷 - P1111 - 修复公路 - 并查集
  2. 浅析JAVA_HOME,CLASSPATH和PATH的作用
  3. #pragma comment和#pragma 预处理指令详解
  4. ios wkweb设置图片_iOS WKWebView的使用
  5. SCCM Learning2
  6. sqlalchemy 初始化数据库
  7. SqlServer标识列
  8. WSL配置C/D盘大小写敏感
  9. linux怎么更改rpcbind端口号,rpcbind_rpcbind服务是什么_rpcbind 端口
  10. 《积极上瘾》读后感范文5000字
  11. GAX (Guidance Automation Extensions) 与 GAT (Guidance Automation Toolkit)
  12. Scrapy框架 - Spiders
  13. 磁盘检测SMART工具
  14. python为什么胶水语言_Python真的什么都可以做,胶水语言可不是白叫的
  15. 苹果手机如何设置代理ip?
  16. 【WIN32APIDAPI】RegisterClass CreateWindowEx UpdateWindow
  17. QT:获取当前系统时间与时间戳
  18. 360 新推出的搜索会成功吗?
  19. 关于使用LoadImage时的一个小错误(转)
  20. 给大家推荐一款国产替代STM32F103VBT6的MCU

热门文章

  1. redis集群信息分析-cluster info-cluster nodes
  2. java分布式对象RMI应用测试用例
  3. ibm liberty_使用Eclipse和Open Liberty的Java EE 8上的Java 9
  4. tdd 单元测试_何时给定在单元测试和TDD中的重要性
  5. java oauth2.0_教程:如何实现Java OAuth 2.0以使用GitHub和Google登录
  6. hibernate自定义_如何自定义Hibernate脏检查机制
  7. Spring Boot退出代码–创建自定义退出代码
  8. couchbase_Spring Data Couchbase 1.0 GA发布
  9. 具有Spring Security的Grails
  10. javafx 示例_示例介绍:JavaFX 8打印