如何让eclipse为Java使用不同的编译器版本?

似乎这应该是一个简单的任务,它具有“首选项”菜单中用于不同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。


有什么想法吗?


开满天机
浏览 1012回答 3
3回答

守候你守候我

Eclipse使用它自己的内部编译器,该编译器可以编译成多个Java版本。从Eclipse帮助> Java开发用户指南>概念> Java BuilderJava构建器使用实现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编译器。

慕标琳琳

首先,您是要设置所需的JRE还是所需的JDK?即使您的Eclipse设置正确,在某处可能会有一个古怪的项目特定设置。您可以在Project Explorer中打开给定Java项目的上下文菜单,然后选择Properties> Java Compiler进行检查。如果以上方法均无济于事,请发表评论,我会再看一看。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java