OS X Mountain Lion上的多个Java版本

在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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020暨阳学院园林计算机考研考场,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼二、关键一步——院校选择我把各位同学的院校选择阶段分为以上几个阶段,因为考研这一年中,很多人的目标院校并不是固定不变的,而是随着不同阶段而改变的。学长我在大三下学期这一时间段内也多次更…

JavaOne 2012:向上,向上和向外:使用Akka扩展软件

在最后的社区主题演讲后,我前往希尔顿金门大桥3/4/5观看了维克多巴生 ( Viktor Klang )的( Typesafe )“上,下,外:Akka”演讲。 巴生(Klang)是Akka的技术主管…

Spring测试支持和上下文缓存

Spring为单元测试和集成测试提供了全面的支持-通过注释来加载Spring应用程序上下文,并与JUnit和TestNG等单元测试框架集成。 由于为每个测试加载大型应用程序上下文需要时间,因此Spring智能地为测试套件缓存应用程序上下文–通常,当我们通过a…

perl6正则 4: before / after 代码断言: ?{} / !{}

<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 对应的取反分别为: <!before > <!before XXX> XXX之前没有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~…

如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)

转载&#xff1a;http://www.cnblogs.com/codeon/p/6123863.html 上篇文章说到接口安全的设计思路&#xff0c;如果没有看到上篇博客&#xff0c;建议看完再来看这个。 通过园友们的讨论&#xff0c;以及我自己查了些资料&#xff0c;然后对接口安全做一个相对完善的总结&#…

PrimeFaces在GlassFish 3.1.2.2上推动大气

PrimeFaces 3.4在三天前问世。 除了通常令人敬畏的新组件和更新组件之外&#xff0c;它还包括新的PrimeFaces Push框架。 基于Atmosphere&#xff0c;这为您的应用程序提供了简单的推送机制。 这是在最新的GlassFish 3.1.2.2上配置和运行它的方法。 准备工作 像往常一样&#…

JBoss AS 7类加载说明

这是示例章节&#xff0c;摘自Francesco Marchioni编辑的JBoss AS 7 Configuration Deployment and Administration一书&#xff0c;该书正在运行一个名为mastertheboss.com的JBoss门户。 根据Java EE规范的要求&#xff0c;理想情况下&#xff0c;应用程序服务器应为其部署的应…

兵团职称计算机准考证查询,兵团初级会计准考证打印入口官网

兵团初级会计准考证打印入口官网为财政部会计资格评价中心网(http://kzp.mof.gov.cn)。准考证打印时间在4月16日前公布&#xff0c;考生需要在规定时间登录财政部会计资格评价中心网(http://kzp.mof.gov.cn)下载并打印准考证。未在上述时限内下载打印准考证的&#xff0c;视作放…

MySQL数据库的基本操作

-- 连接mysql 数据库(前提是配置好MySQL数据库的环境变量&#xff0c;加入path)mysql -uroot -p -- 设置文本的输入输出编码&#xff1a;cmd 使用的是gbk&#xff0c;不然显示乱码set names gbk; -- 创建数据库create database mydatabase charset utf8; -- 创建用户 user001cr…

使用NoSQL实施实体服务–第5部分:使用云提高自治性

在先前的文章中&#xff0c;我讨论了如何通过结合使用Java Web Services &#xff0c; Java EE和CouchDB NoSQL数据库为产品构建SOA“实体”服务。 在本系列的最后一篇文章中&#xff0c;我将利用我已经创建的一些技术资产&#xff0c;并使用一些流行的SOA模式实现一些新的用户…

乐高计算机发展史教程,【乐高产品发展史特别篇】乐高恐龙发展史

—— 写在前面 ——2018年6月22日&#xff0c;《侏罗纪世界2&#xff1a;失落王国》全球上映&#xff1b;4月16日&#xff0c;乐高同名系列套装全球发售。恐龙是一个伴随了乐高产品二十余年的主题&#xff0c;其实在一年以前就有这样一个计划完成乐高恐龙发展史的相关内容&…

mvc 连接数据库但单复值得问题

1. The model backing the ‘MusicStoreDBContext‘ context has changed since the database was created. Consider using Code First Migrations to update the database Movie这个表是用来记录Model的版本号的&#xff0c;你每次重新生成一次数据库它就会重新给ModelHash…

Mybatis处理表关联(懒加载)

1.关系型数据库&#xff1f; 数据库中的表对象之间是有关系的。 一对一&#xff0c;一对多&#xff0c;多对多。 ORM映射。数据库表映射到实体对象。 实体与实体之间是有关系的。 一对多的关系。 比如商品分类表与商品表之间的关系&#xff0c;就是一对多的关系。 入库主表与入…

Spring–设计领域模型和服务层

我们将为时间表管理构建应用程序。 因此&#xff0c;让我们首先考虑一些用例和实体。 让我用几个项目符号写它们&#xff1a; 任务由经理分配给员工。 一项任务可以分配给许多员工。 员工将他在某些任务上工作的小时数填满至系统。 经理/员工查看时间表上的报告&#xff08;时…

如何把很多照片拼成一张照片_一张现场照片引发的中韩之争

来源&#xff1a;渤海新水手聊船专栏前几天&#xff0c;微信群里(造船质量技术高级交流群)一位网友发了一张韩国船厂的现场照片&#xff0c;没想到瞬间引发全群几十位网友的热烈讨论&#xff0c;中韩之争就此上演&#xff01;照片反映出的是国内船厂很难做到的部分——分段预装…

计算机文档设置,电脑这样设置快速的共享文件、分享文档!

原标题&#xff1a;电脑这样设置快速的共享文件、分享文档&#xff01;在日常办公的时候&#xff0c;有时需要共同使用一些文件或者文档或者一些视频资料。那么要怎么方便的使用这些共同的资源呢&#xff1f;当然这时大家可能会说可以用QQ、微信传给对方不就可以了。但是如果文…

关于vue 框架与后台框架的混合使用的尝试

这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 php 的 lumen 框架,他是laravel 的简化版,因为比较轻量,所以这也是我的选择; 先说下我这边的环境:…

服务器 raid 1t硬盘吗,用了4块1T的硬盘,做了raid5,显示有2.7T,但是分区做完系统后,有700多G不能动...

满意答案ouourpt892013.11.14采纳率&#xff1a;46% 等级&#xff1a;12已帮助&#xff1a;13583人出现这种情况是由于创建的硬盘使用的是基本磁盘(MBR)格式&#xff0c;因受MBR磁盘格式技术的限制&#xff0c;MBR磁盘只支持2TB的磁盘容量&#xff0c;所以出现了你所说的情况…

vi编辑器服务器维护,vi编辑器有哪几种工作模式及如何转换_网站服务器运行维护,vi编辑器,工作模式...

整理分享一些 Linux思维导图(值得收藏)_网站服务器运行维护本篇文章整理分享了一些 Linux思维导图(值得收藏)。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。vi编辑器有三种基本的工作模式&#xff0c;分别是&#xff1a;指令行模式、…

(八)cmockery中的calculator和run_tests函数的注释代码

所分析的calculator.c和calculator_test.c文件位于 工程中的 cmockery/src/example/ 目录下&#xff0c;是一个相对而言比较全面的样例程序&#xff0c;用到了cmockery项目中的大多数单元测试方法。基本上涵盖了之前所有的样例程序中的用法&#xff0c;还有两组测试是database操…