tangguo

Mac OS X Mavericks中的多个Java安装

java

我从Oracle下载了适用于Mac OS X 10.9.1的JDK,但由于无法启动Eclipse,因此不得不再次从Apple站点安装另一个Java。

这是我引用的两页。

*在OS X 10.9(Mavericks)上安装Java
*http://support.apple.com/kb/DL1572?viewlocale=zh_CN

现在,我的计算机上安装了三个Java二进制文件。

安装A

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

安装B

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

安装C

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

我发现可以轻松删除Installation C,但是不确定是否可以。

当我从命令行调用Java时,它指向安装A。

java -version
java version "1.7.0_51"

ls -alF `which java`
lrwxr-xr-x  1 root  wheel  74 Jan 15 09:12 /usr/bin/java@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
*通过安全删除其中的两个,有什么方法可以仅将一个JDK 1.7用于Mavericks吗?

编辑

经过一些设置和测试后,我仅安装了一个Java(1.6)。我有安装B,现在安装C已链接到安装A。

为了使用eclipse,我必须将Compiler Compliance级别设置为1.6才能使用它(来自帮助java.lang.UnsupportedClassVersionError Unsupported major.minor版本51.0)。

在此处输入图片说明

编辑2
这似乎发生了什么。

  1. 安装Apple Java

    • 安装A
    • 安装B是指向A的符号链接
    • 安装Oracle Java

    安装C
    更改了安装B
    1. 创建了一个 /System/Library/Frameworks/JavaVM.framework/Versions/A
    2. 从安装C复制的文件(不是符号链接)
    3. 将符号链接设为当前版本/ A

我尝试仅通过删除Apple Java来安装Oracle Java,但是却出现安装错误,因此我猜想需要安装Apple Java来安装Oracle Java。


阅读 327

收藏
2020-10-20

共2个答案

小编典典

指定Eclipse的JVM您可以在Eclipse使用指定的JDK版 本在eclipse.ini。这将解决启动Eclipse的问题。

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

警告:请在之前 添加此配置-vmargs。

使用jenv掌握Java环境

使用jenv维护多个JDK版本要容易得多。

jenv相当于rbenv,但适用于Java环境。它使您可以轻松地在多个JDK安装(已提供)之间切换,并配置每个项目要使用哪个JDK。

Eclipse JDK
在Eclipse中设置JDK

2020-10-20
小编典典

好像可以删除oracle JDK。对于eclipse,我可以从Java构建路径-> JRE系统库->已安装的JRES->添加…中将安装A添加为默认JRE。

2020-10-20