似乎这应该是一个简单的任务,它具有“首选项”菜单中用于不同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。有什么想法吗?
3 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
Eclipse使用它自己的内部编译器,该编译器可以编译成多个Java版本。
从Eclipse帮助> Java开发用户指南>概念> Java Builder
Java构建器使用实现Java语言规范的自己的编译器(Java的Eclipse编译器)构建Java程序。
对于Eclipse Mars.1发行版(4.5.1),此目标可以为1.3到1.8(含)。
配置项目时:
[project-name] > Properties > Java Compiler > Compiler compliance level
这将Eclipse Java编译器配置为将代码编译为指定的Java版本,今天通常为1.8。
不使用主机环境变量,例如JAVA_HOME等。
不使用Oracle / Sun JDK编译器。
慕标琳琳
TA贡献1830条经验 获得超9个赞
首先,您是要设置所需的JRE还是所需的JDK?
即使您的Eclipse设置正确,在某处可能会有一个古怪的项目特定设置。您可以在Project Explorer中打开给定Java项目的上下文菜单,然后选择Properties> Java Compiler进行检查。
如果以上方法均无济于事,请发表评论,我会再看一看。
添加回答
举报
0/150
提交
取消