当前位置: 首页 > 面试题库 >

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

韦宏朗
2023-03-14
问题内容

似乎这应该是一个简单的任务,它具有“首选项”菜单中用于不同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位于项目的构建路径上,保存所有内容并享受乐趣!



 类似资料:
  • 在我的所有项目中,我都使用gradle并指定以下内容: 现在,我安装了三个不同版本的JDK,从1.6到1.8。为了从一个版本切换到另一个版本,Ishell文件更改、甚至。 偶然的是,我可能会使用错误的JDK版本,而我不希望这样...是否有可能在尝试任何编译任务之前检查编译器版本是否等于targetCompatibility?

  • 问题内容: 我已经安装了Java6和7,并使用eclipse编写了一个简单的jdbc应用程序。我在lib文件夹中同时有sqljdbc4.jar和sqljdbc.jar。我收到此消息… 2013年12月18日9:29:51 com.microsoft.sqlserver.jdbc.SQLServerConnection 严重:该驱动程序不支持Java Runtime Environment(JRE)

  • 问题内容: 我不确定这个问题是否已经全部回答,或者我的情况是否足以说明我的标题,但是我被要求将使用Ant构建的项目转换为Maven。那部分还不错,但是有人告诉我该应用程序是专门为JRE 1.5版而不是JRE 6设计的,我一直在处理其他用途。现在,我是Eclipse和Java的新手,所以当我被要求告诉Eclipse或Maven使用JRE 1.5来构建这个特定项目时,我有些困惑。相信,我已经安装了它,

  • 问题内容: 我需要使用已“定制”的特殊JRE批处理编译。 Eclipse可以使用此JRE编译类,但是我需要在Eclipse之外制作一个构建脚本。 Eclipse使用什么方法在没有JDK的情况下生成.class文件? 问题答案: Eclipse具有其自己的编译器,其原因如下: 增量编译(可以仅编译项目的更改部分,这可能意味着比刚刚保存的文件数量更多,例如,当您更改某些全局变量时) 即使代码包含错误,

  • 在我的 maven 项目中,我目前正在将我的 Java 代码与一些 Groovy 代码混合在一起。在这一点上,我主要使用Groovy来构建豆子。我的一些Java代码直接使用Groovy豆。 我这样配置Maven编译器插件:- 当我使用运行我的测试用例时,它工作得很好。 然而,当我通过右键单击测试文件直接从IntelliJ运行测试用例并运行它时,Groovy bean上会出现“找不到符号”错误。当我

  • 我想将ant构建迁移到Bazel4.2.1。ant构建使用Eclipse编译器(ECJ-3.27.0)。 在Bazel中声明Java编译器的方法是。 因此,我查看了的输出,并尝试使用vanilla工具链作为灵感()。 显示整个编译器命令行(加上更多构建步骤): 我不知道有哪个Java编译器接受。是否必须以不同的方式传递?