Mac OS X Mavericks 中的多个 Java 安装

2022-09-04 04:00:43

我从Oracle下载了JDK for Mac OS X 10.9.1,但我不得不再次从Apple站点安装另一个Java,因为我无法用它启动eclipse。

这是我提到的两页。

现在我的计算机中安装了三个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)

我发现我可以轻松删除安装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来为小牛队使用一个JDK 1.7?

编辑

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

为了使用eclipse,我必须将编译器合规性级别设置为1.6才能使用它(来自帮助java.lang.UnsupportedClassVersionError Unsupport major.minor version 51.0)。

enter image description here

编辑2

这似乎是发生了什么。

  1. 安装苹果Java

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

    • 安装 C
    • 更改了安装 B
      1. 已创建/System/Library/Frameworks/JavaVM.framework/Versions/A
      2. 从安装 C 复制的文件(不是符号链接)
      3. 使符号链接当前指向版本/A

我试图通过删除Apple Java来安装Oracle Java,但是我遇到了安装错误,所以我想安装Oracle Java需要Apple Java。


答案 1

为 Eclipse 指定 JVM

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

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

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

使用 jenv 掌握您的 Java 环境

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

jenv 相当于 rbenv,但适用于 Java 环境。它允许在多个JDK安装(已经存在)之间轻松切换,并配置每个项目使用哪一个。

Eclipse JDK


答案 2

似乎可以删除oracle JDK。对于 eclipse,我可以添加安装 A 作为 Java Build Path 的默认 JRE -> JRE System Library -> Installed JRES -> Add ...

enter image description here