我有Mountain Lion安装了两个版本的Java:
- Apple的Java 6 Update 37( 适用于OS X 2012-006的Java )
- Oracle的Java 7。
来自Apple的更新 移除了 Java首选项 。在 另一个问题 有人想知道删除该实用程序。
我的问题不同:
- 我怎么能在这两个版本之间切换 Java首选项 离开了?
我以前使用Apple的实用程序轻松设置Java首选项。没有那个实用程序,有一种简单快捷的方法吗?
我有Mountain Lion安装了两个版本的Java:
来自Apple的更新 移除了 Java首选项 。在 另一个问题 有人想知道删除该实用程序。
我的问题不同:
我以前使用Apple的实用程序轻松设置Java首选项。没有那个实用程序,有一种简单快捷的方法吗?
Answers:
您可能需要两种方法:
我的 最近的用例 :
sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /private/var/tmp
如果你打算 开关 通常,您可能更喜欢不同的临时位置。
sh-3.2$ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b58)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b02, mixed mode)
sh-3.2$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8.2
BuildVersion: 12C60
同时:
答案在:
安装JDK 7 Update 09然后安装JDK 8
退出所有使用Java的应用程序。无需退出浏览器。
抛开了 jdk1.8
...目录来自
/Library/Java/JavaVirtualMachines
退出所有使用Java的应用程序。无需退出浏览器。
抛开了 jdk1.7
...目录来自
/Library/Java/JavaVirtualMachines
macbookpro08-centrim:~ gjp22$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
macbookpro08-centrim:~ gjp22$ sudo mv /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk /private/var/tmp
Password:
macbookpro08-centrim:~ gjp22$ 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)
对于OS X的用户,Oracle提供的一些内容最初会产生误导:
… 等等。
虽然以上都不像使用之前由Apple安装的Java Preferences应用程序切换那么简单,但是相对简单的方法 撇开 (不需要特殊的卸载)让人联想到拖放安装的愿望...... 以前表达过 在里面 OpenJDK的-OSX建造 区域。
有人可能想构建一个应用程序,但我不建议使用符号链接 - 它可以工作,但可能与未来的拖放安装方法不一致。
在撰写本文时,最新的 支持的版本 神谕 进行更新 公然 可得到 是(对于OS X以外的平台)Java 6 Update 37和(对于包括OS X的平台)Java 7 Update 9。
由于将提供更多版本,请相应地重新解释此答案。
此答案中的Java版本术语符合 Java帮助中心 术语。
sudo chmod 0000 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/
并重新打开它 sudo chmod 0755 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/
。
打开终端使用此命令:
/usr/libexec/java_home -v 1.6
您可以将1.6更改为要使用的任何java版本,命令将输出该版本的Java所在的位置。 (即:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home)
那么你可以像往常一样用上一个命令的输出来设置JAVA_HOME。即:
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
所以要简化;这样的事情应该有效:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
记得检查版本:
java -version
希望能帮助到你。
看起来你必须手动完成它。 Oracle的文档仅说明了这一点 一次可以安装一个JRE 。
此Apple支持页面描述 如何在Apple SE 6 JRE和Oracle SE 7 JRE之间切换 。简而言之,要从Oracle的JRE切换回Apple,请启动终端应用程序并键入以下内容:
sudo mkdir -p /Library/Internet\ Plug-Ins/disabled
sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled
sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
在支持页面上有关于如何将Web Start切换回JRE 6以及如何将所有内容切换回Oracle JRE 7(重新安装JRE)的更多(和更好)指令。
不像使用Java Preferences实用程序那么简单,但总比没有好。
alias java8="export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) && java -version"
alias java6="export JAVA_HOME=$(/usr/libexec/java_home -v 1.6) && java -version"
为什么需要安装2个Java版本?
Apple没有安装Java作为默认更新(我相信从Lion开始)。在Mac上检查/安装Java的最佳方法如下:
如果要安装不同版本的java: 只需访问oracle站点并下载最新/更旧的jdk。