Mac OS X Mavericks中的多个Java安装 [英] Multiple Java installations in Mac OS X Mavericks
问题描述
我下载了适用于Mac OS X 10.9的JDK。 1从Oracle ,但是我再次从Apple站点安装另一个Java,因为我无法启动eclipse。
这是我引用的两个页面。
现在我的电脑安装了三个java二进制文件。
安装A
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
java版本1.7.0_51
Java(TM)SE运行时环境(build 1.7.0_51-b13)
Java HotSpot(TM)64位服务器虚拟机(构建24.51-b03,混合模式)
安装B
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk / Contents / Home / bin / java
java版本1.6.0_65
Java(TM)SE运行时环境(build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM)64位服务器VM(构建20.65-b04-462,混合模式)
安装C
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java
java版本 1.7.0_51
Java(TM)SE运行时环境(build 1.7.0_51-b13)
Java HotSpot(TM)64位服务器虚拟机(构建24.51-b03,混合模式)
我发现我很容易删除安装C ,但是我不知道这是否可以。
当我从命令行调用java时,它指向安装A。
java -version
java版本1.7.0_51
ls -alF`哪些java`
lrwxr-xr-x 1根轮74 Jan 15 09:12 / usr / bin / java @ - > /系统/库/框架/ Java b 是否有任何方法可以安全地删除其中的两个JDK 1.7 for Mavericks?
EDIT
经过一些设置和测试,我只安装了一个Java(1.6)。
我有安装B,现在安装C链接到安装A.
对于使用eclipse,我不得不使编译器合规级别为1.6使用它(从帮助 java.lang.UnsupportedClassVersionError不支持的major.minor版本51.0 )。
EDIT2
这似乎发生了什么。
-
安装Apple Java
- 安装A
- 安装B是A的符号链接
-
安装Oracle Java
- 安装C
- 更改了安装B
- 创建一个
/System/Library/Frameworks/JavaVM.framework/Versions/A
- 从安装C复制的文件(不是符号链接)
- 创建符号链接当前版本/ A
我试图通过删除Apple Java安装Oracle Java,但是我有安装错误,所以我猜苹果需要Java来安装Oracle Java。
解决方案似乎只能删除oracle JDK。对于eclipse,我可以从Java构建路径添加安装A作为默认JRE - > JRE系统库 - >安装的JRES - >添加...
I downloaded JDK for Mac OS X 10.9.1 from Oracle, but I had to install another Java from Apple site once more, as I couldn't launch eclipse with it.
These are two pages that I referred.
Now I have three java binaries installed in my computer.
Installation 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)
Installation 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)
Installation 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)
I found that I can easily remove Installation C, however I'm not sure if this is OK.
When I invoked java from command line, it points to Installation 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
- Is there any way to use just one JDK 1.7 for Mavericks by removing two of them safely?
EDIT
After some setup and test, I have only one Java (1.6) installed.
I have Installation B, and now Installation C is linked to Installation A.
For using eclipse, I had to make Compiler Compliance level to 1.6 to use it (from the help java.lang.UnsupportedClassVersionError Unsupported major.minor version 51.0).
EDIT2
This seems to what happened.
Installation of Apple Java
- Installation A
- Installation B is a symbolic link to A
Installation of Oracle Java
- Installation C
- Changed the Installation B that
- Created a
/System/Library/Frameworks/JavaVM.framework/Versions/A
- Copied files from Installation C (not symbolic link)
- Make a symlink Current to Versions/A
I tried to install Oracle Java only by removing Apple Java, but I got installation error, so I guess Apple Java is needed to install Oracle Java.
解决方案 It seems like that the oracle JDK can be just removed. For eclipse, I could add Installation A as a default JRE from Java Build Path -> JRE System Library -> Installed JRES -> Add ...
这篇关于Mac OS X Mavericks中的多个Java安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!