Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE_Java_Eclipse_Macos_Ant_Osx Yosemite - Fatal编程技术网

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

Java 构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE,java,eclipse,macos,ant,osx-yosemite,Java,Eclipse,Macos,Ant,Osx Yosemite,我使用OS X Yosemite(10.10.2)并有一些java项目,我想在Eclipse中构建它们。有些项目是旧的,它们在Java5、6和7中。首先,我安装了JDK 7和EclipseLuna。然后我阅读并研究如何在mac上安装特定的JDK。我使用脚本来安装JDK,并更改了这两行代码,以便与Yosemite兼容 /usr/libexec/PlistBuddy -c "Set :JavaVM:JVMMaximumFrameworkVersion 14.*.*" ./Resources/Info

我使用OS X Yosemite(10.10.2)并有一些java项目,我想在Eclipse中构建它们。有些项目是旧的,它们在Java5、6和7中。首先,我安装了JDK 7和EclipseLuna。然后我阅读并研究如何在mac上安装特定的JDK。我使用脚本来安装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

这是我的
/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\u 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

当我想用Java6或Java7构建项目时,Eclipse中的java编译器没有任何问题

但我不能用Java5构建一些项目,可能Java5的编译器设置不正确

我发现博客上有这个问题,解决办法是

…将“A”子目录替换为其他Mac上的文件

但我不知道有谁在约塞米蒂使用这些java版本

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

但这没用

项目属性中的Java构建路径是J2SE-1.5,我试图通过替代JRE来更改执行环境

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

然后我尝试在
build.xml
中添加java
source
target

    <?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>
在项目属性中,我没有收到任何编译器警告,但显然JDK1.5没有JRE 1.5,因为如果我打开Eclipse preferences Java->Installed JRE->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
目录的内容

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


我决定打开新的

我只需右键单击项目浏览器中的“Java系统库”并选择“属性”即可解决我的问题。在“执行环境”中,刚刚选择了正确的Java版本。

Dyadee解决方案对我也适用于Windows 10

检查您安装的java版本(对于windows运行CMD:java-version)

右键单击:JRE系统库,然后选择属性


执行环境:在这里,您选择您已安装的版本-我的案例是:JavaSE-1.8(jre1.8.0_144)

我的理解是,Yosemite上没有运行Java 5,因此您总是会收到警告。我不明白。为什么你认为没有在约塞米蒂上运行的Java5?我安装了java 5,它位于/System/Library/Frameworks/JavaVM.framework/Versions目录中。如果将目标版本更新为1.6或1.7,我见过的大多数旧程序仍然可以正常工作。这会给你带来什么样的问题?
Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.