我使用OS X Yosemite(10.10.2)并且有一些我想在Eclipse中构建的java项目。有些项目是旧的,它们使用Java 5,6和7.首先,我安装了JDK 7和Eclipse Luna。然后我读了this和this线程如何在mac上安装特定的JDK。我使用this脚本来安装JDK并更改了这两行,以便与Yosemite兼容。
/usr/libexec/PlistBuddy -c "Set :JavaVM:JVMMaximumFrameworkVersion 14.*.*" ./Resources/Info.plist
/usr/libexec/PlistBuddy -c "Set :JavaVM:JVMMaximumSystemVersion "$osx_version".*" ./Resources/Info.plist
通过
/usr/libexec/PlistBuddy -c "Delete :JavaVM:JVMMaximumFrameworkVersion" ./Resources/Info.plist
/usr/libexec/PlistBuddy -c "Delete :JavaVM:JVMMaximumSystemVersion" ./Resources/Info.plist
以下是我的/System/Library/Frameworks/JavaVM.framework/Versions
目录
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.5.0 -> CurrentJDK
drwxr-xr-x 9 root wheel 306 8 apr 14:32 1.5.0_30
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.6.0 -> CurrentJDK
drwxr-xr-x 7 root wheel 238 8 apr 14:36 A
lrwxr-xr-x 1 root wheel 1 8 apr 14:36 Current -> A
lrwxr-xr-x 1 root wheel 59 8 apr 14:36 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
JDK 7的位置不同,路径为/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk
默认Java版本是:
AND:bin andr-work$ java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
以下是Eclipse首选项中安装的JDK
第7版
第6版
第5版
当我想在java 6或7中构建项目时,Eclipse中的java编译器没有任何问题
但我无法在java 5中构建一些项目,并且可能没有正确设置java 5的编译器
我发现此问题的this博文,解决方案是
...将“A”子目录替换为来自其他人Mac的文件
但我不知道在Yosemite中使用这些java版本的任何人。
我尝试在Eclipse首选项中更改执行环境
但它没有帮助。
项目属性中的Java构建路径是 J2SE-1.5 ,我尝试通过备用JRE更改执行环境
但是当我保存此设置并再次打开 J2SE-1.5 仍然是执行环境(J2SE-1.5)
然后我尝试在source
target
和build.xml
<?xml version="1.0"?>
<project name="build" default="jar">
<description>
A build script
</description>
<property name="ant.build.javac.source" value="1.5"/>
<property name="ant.build.javac.target" value="1.5"/>
<property name="dist.jar" value="ci-ons.jar"></property>
<property name="dist.folder" value="dist"></property>
<property name="src.folder" value="src"/>
<property name="classes.folder" value="bin"/>
</project>
但它没有帮助。
你知道如何在Yosemite的Eclipse中用java 5构建项目吗?
编辑://问题是JDK 1.5路径引用了CurrentJDK,JDK 1.6是什么。我再次运行JDK 1.5和1.6的安装,现在JDK 1.5与JDK 1.5链接
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 9 apr 11:01 1.5 -> ./1.5.0_30
lrwxr-xr-x 1 root wheel 10 9 apr 11:01 1.5.0 -> ./1.5.0_30
drwxr-xr-x 9 root wheel 306 9 apr 11:01 1.5.0_30
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.6.0 -> CurrentJDK
drwxr-xr-x 7 root wheel 238 8 apr 14:36 A
lrwxr-xr-x 1 root wheel 1 8 apr 14:36 Current -> A
在项目属性中我没有得到编译器的任何警告,但显然JDK 1.5没有JRE 1.5,因为如果我打开Eclipse首选项Java-&gt; Installed JREs-&gt; Execution Environments,那么就没有任何JRE 1.5
我无法在Java 5中构建项目,因为我收到了错误:
Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.
这是/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0_30
目录
我决定开新thread
答案 0 :(得分:2)
我解决了我的问题,只需右键单击Project Explorer中的“Java System Library”,然后选择“Properties”。在“执行环境”中选择了正确的Java版本。
答案 1 :(得分:0)
eclipse: select your java version
Dyadee解决方案也适用于Windows 10。
检查您安装的java版本(对于Windows运行CMD:java -version)
右键点击:JRE 系统库,然后选择属性。
执行环境:在这里选择已安装的版本 - 我的案例是:JavaSE-1.8(jre1.8.0_144)