当我java -version在控制台中键入时,我得到了java version "1.8.0_05"。软链接/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK指向/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents。在Java首选项窗口中,唯一列出的Java版本是1.8。JAVA_HOME设置为/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home。
java -version
java version "1.8.0_05"
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
但是,当我尝试运行Eclipse.app时,出现错误: Version 1.6.0_65 of the JVM is not suitable for this product. Version: 1.7 or greater required.
Version 1.6.0_65 of the JVM is not suitable for this product. Version: 1.7 or greater required.
我相信它正在尝试使用,/System/Library/Java/JavaVirtualMachines并且在该目录中唯一的版本是1.6.0.jdk。
/System/Library/Java/JavaVirtualMachines
1.6.0.jdk
如何获得Eclipse以使用正确版本的Java?
下载64位版本的Eclipse,而不是32位版本。
原因是Eclipse包含本机机器代码(用于GUI),这就是为什么同时具有32位和64位版本的Eclipse的原因,并且这明确要求使用相应的Java版本。最初,Apple创建了两个版本,最高支持Java 6,但是Oracle仅创建了64位版本(这让旧机器的所有者感到沮丧)。因此,如果您下载32位版本的Eclipse,它将只能在Apple JVM上运行,而Apple JVM显然太旧了(这让我感到惊讶-我认为Eclipse 4.4仍支持Java 6)