看起来这应该是一个简单的任务,在Preferences菜单中为不同的JRE提供选项,并且能够为每个项目设置不同的编译器和构建路径.但是,它似乎根本行不通.
例如,我将JAVA_HOME设置为Java 1.6的jre.我仍然不清楚Eclipse如何使用它,但它似乎是默认的,并没有采取项目覆盖.我还安装了Java 1.5,并在Java-> Installed JREs部分的eclipse中为此添加了一个JRE.
在我的项目中,我将编译器合规性级别设置为1.5.在项目的构建路径中,我添加了Java 1.5 JRE的系统库.但是,我正在为实现PreparedStatement的类获取编译错误,因为它没有实现仅存在于Java 1.6 PreparedStatement中的抽象方法.具体来说,方法
setAsciiStream(int, InputStream, long) and
setAsciiStream(int, InputStream)
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我们针对最初为其编写的Java 1.4编译它时,它起作用了.我们为Java 1.4添加了JRE并在项目中引用了该系统库,并将项目的编译器级别设置为1.4,并且它工作正常.但是,当我做同样的更改以试图指向Java 1.5时,它反而使用1.6.
有什么想法吗?
Edw*_*uck 54
从菜单栏:Project - > Properties - > Java Compiler
启用项目特定设置(选中)取消选中"使用执行环境中的合规性"....选择所需的"编译器合规级别"
这将允许您使用"1.6"JDK编译"1.5"代码.
如果你想实际使用1.5 JDK生成"1.5"兼容代码,那么安装一个合适的1.5 JDK并告诉eclipse安装它的位置:
窗口 - >首选项 - >已安装的JRE
然后回到你的项目
项目 - >属性 - > Java构建路径 - >库
删除1.6系统库,并:添加库... - > JRE System LIbrary - > Alternate JRE - >你想要的JRE.
验证项目的构建路径上是否有正确的JRE,保存所有内容并享受!
Eclipse 使用它自己的内部编译器,可以编译为多个 Java 版本。
从 Eclipse 帮助 > Java 开发用户指南 > 概念 > Java Builder
Java 构建器使用它自己的编译器(Java Eclipse 编译器)来构建 Java 程序,该编译器实现了 Java 语言规范。
对于 Eclipse Mars.1 Release (4.5.1),这可以针对 1.3 到 1.8(含)。
配置项目时:
[project-name] > Properties > Java Compiler > Compiler compliance level
Run Code Online (Sandbox Code Playgroud)
这将配置 Eclipse Java 编译器以将代码编译为指定的 Java 版本,目前通常为 1.8。
不使用主机环境变量,例如 JAVA_HOME 等。
不使用 Oracle/Sun JDK 编译器。
首先,您设置的是所需的 JRE 还是 JDK?
即使您的 Eclipse 设置正确,某处也可能存在奇怪的项目特定设置。您可以在 Project Explorer 中打开给定 Java 项目的上下文菜单,然后选择 Properties > Java Compiler 进行检查。
如果这些都没有帮助,请发表评论,我会再看看。
归档时间: |
|
查看次数: |
124730 次 |
最近记录: |