似乎这应该是一个简单的任务,它具有“首选项”菜单中用于不同JRE的选项,并且能够为每个项目设置不同的编译器和构建路径。但是,这似乎也根本行不通。
例如,我将JAVA_HOME设置为Java 1.6的jre。我仍然不清楚Eclipse如何使用此功能,但是它似乎是默认设置,并且未采用项目替代。我还安装了Java 1.5,并在Eclipse的Java-> Installed JREs部分中为此添加了一个JRE。
在我的项目中,我将编译器的遵从性级别设置为1.5。在项目的构建路径中,我添加了Java 1.5 JRE的系统库。但是,由于没有实现仅在Java 1.6 PreparedStatement中存在的抽象方法,实现了PreparedStatement的类遇到了编译错误。具体来说,方法
setAsciiStream(int, InputStream, long) and setAsciiStream(int, InputStream)
奇怪的是,当我们针对最初为它编写的Java 1.4进行编译时,它可以工作。我们添加了Java 1.4的JRE,并在项目中引用了该系统库,并将项目的编译器级别设置为1.4,并且运行良好。但是,当我进行相同的更改以尝试指向Java 1.5时,它改而使用1.6。
有什么想法吗?
从菜单栏中:项目->属性-> Java编译器
启用项目特定设置(选中)取消选中“从执行环境中使用合规性’…。选择所需的”编译器合规性级别”
这样您就可以使用“ 1.6” JDK来编译“ 1.5”代码。
如果您想正式使用1.5 JDK来生成“ 1.5”兼容代码,请安装合适的1.5 JDK并通过以下方法告诉eclipse:
窗口->首选项->已安装的JRE
然后回到您的项目
项目->属性-> Java构建路径->库
删除1.6系统库,然后:添加库…-> JRE系统库->备用JRE->您想要的JRE。
验证正确的JRE位于项目的构建路径上,保存所有内容并享受乐趣!