构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE

时间:2015-04-08 19:42:46

标签: java eclipse macos ant osx-yosemite

我使用OS X Yosemite(10.10.2)并且有一些我想在Eclipse中构建的java项目。有些项目是旧的,它们使用Java 5,6和7.首先,我安装了JDK 7和Eclipse Luna。然后我读了thisthis线程如何在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

enter image description here

第7版

enter image description here

第6版

enter image description here

第5版

enter image description here

当我想在java 6或7中构建项目时,Eclipse中的java编译器没有任何问题

enter image description here

enter image description here

但我无法在java 5中构建一些项目,并且可能没有正确设置java 5的编译器

enter image description here

我发现此问题的this博文,解决方案是

  

...将“A”子目录替换为来自其他人Mac的文件

但我不知道在Yosemite中使用这些java版本的任何人。

我尝试在Eclipse首选项中更改执行环境

enter image description here

但它没有帮助。

项目属性中的

Java构建路径 J2SE-1.5 ,我尝试通过备用JRE更改执行环境

enter image description here

但是当我保存此设置并再次打开 J2SE-1.5 仍然是执行环境(J2SE-1.5)

然后我尝试在source

中添加java targetbuild.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

enter image description here

我无法在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目录

的内容

enter image description here

我决定开新thread

2 个答案:

答案 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)