Mac OS X Mavericks中的多个Java安装

时间:2014-01-15 20:38:57

标签: java eclipse macos osx-mavericks

我下载了JDK for Mac OS X 10.9.1 from Oracle,但我不得不再次从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)

我发现我可以轻松remove 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使用一个JDK 1.7来安全删除其中两个?

修改

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

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

enter image description here

EDIT2

这似乎发生了什么。

  1. 安装Apple Java

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

    • 安装C
    • 更改了安装B
      1. 创建了/System/Library/Frameworks/JavaVM.framework/Versions/A
      2. 从安装C复制文件(非符号链接)
      3. 制作符号链接当前版本/ A
  3. 我尝试通过删除Apple Java来安装Oracle Java,但是我遇到了安装错误,所以我想安装Oracle Java需要Apple Java。

2 个答案:

答案 0 :(得分:7)

指定Eclipse的JVM

您可以在specify JDK version for usage with Eclipseeclipse.ini。这将解决启动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

答案 1 :(得分:1)

似乎可以删除oracle JDK。对于eclipse,我可以从Java Build Path添加安装A作为默认JRE - > JRE系统库 - >安装JRES - >添加...

enter image description here