我从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 这似乎发生了什么。
安装Apple Java
安装C 更改了安装B 1. 创建了一个 /System/Library/Frameworks/JavaVM.framework/Versions/A 2. 从安装C复制的文件(不是符号链接) 3. 将符号链接设为当前版本/ A
我尝试仅通过删除Apple Java来安装Oracle Java,但是却出现安装错误,因此我猜想需要安装Apple Java来安装Oracle Java。
指定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
好像可以删除oracle JDK。对于eclipse,我可以从Java构建路径-> JRE系统库->已安装的JRES->添加…中将安装A添加为默认JRE。