22

我下载了最新版本的 Eclipse (Mars),并在 eclipse.ini 文件中将所需的 Java 版本更改为 1.6,因为我的项目使用 Java 1.6。

我在 Eclipse 中配置了已安装的 JRE 以使用 Java 1.6。但是当我尝试执行我的 ant 目标时,它会产生一个错误:

不支持低于 1.7 的 JRE 版本。

由于我目前无法升级到 Java 1.7,是否有任何解决方法可以在 Mars 版本中使用 Java 1.6?

4

9 回答 9

21

升级到 Eclipse Mars 后我遇到了同样的问题。

我通过将项目的外部工具配置的运行环境更改为 JDK7解决了这个问题。

我假设您知道如何在 eclipse 中将 JDK7 添加到已安装的 jre

打开外部工具配置...然后将 JRE 更改为 JDK 1.7

打开外部工具配置

然后更改JRE

更改 JRE

但这会产生另一个问题,编译后的 jar 将在 JDK 7 中,这在 JDK6 的生产服务器上不起作用。

要解决这个问题,只需将任务中的目标属性更改为 1.6

<javac 目标="1.6">

将任务目标更改为 1.6

根据@dag 和@Chris 的建议,这里是更新的 ant javac 任务。 在此处输入图像描述

于 2015-07-04T02:24:40.657 回答
6

我们使用修补过的 Ant 插件为我们解决了这个问题。对于 Eclipse Neon,还请参阅此链接,如第一页评论中所述。

于 2015-09-25T22:14:07.267 回答
5

请查看<javac>参考https://ant.apache.org/manual/Tasks/javac.html#compilervalues并将以下属性添加到您的<javac>-Task: compiler="javac1.6" source="1.6" target="1.6" executable="[path-to-jdk-1.6/bin/javac]" fork="true" taskname="javac1.6"

于 2015-07-02T04:15:30.523 回答
5

我在 JRE 1.8 上运行 Eclipse Oxygen,但构建了一些旧的 1.7 项目,并已jdk1.7.0_40作为单独的 JRE 安装并在工具外部配置中进行设置,但仍然出现“不支持小于 1.8 的 jre”错误。

为我解决的只是直接更新构建 xml 配置,特别是如果您有另一个可以复制的项目可以工作。

具体来说,我去了以下启动配置:

workspace/.metadata/.plugins/org.eclipse.debug.core/.launches

并编辑了相关...build.xml.launch文件,替换:

<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_40"/>

和:

<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_NAME" value="jdk1.7.0_40"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_TYPE_ID" value="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/>

并重新启动 Eclipse 以获取它。

不知道这在 Eclipse 支持方面是前进还是后退,但它解决了我的问题。

于 2018-07-24T01:53:09.377 回答
3

不,您不能使用 JDK1.6 或更低版本,因为 Eclipse Mars 只能使用 Java >=1.7 运行。参考这个链接。

于 2015-06-25T14:21:16.303 回答
2

用于运行 Eclipse 的 Java 不必与用于项目的 Java 相同。您必须使用 Java 7(或 8)运行 Eclipse Mars,但您可以将 Java 6 用于您的项目。

在“Java > Installed JREs”的首选项中告诉 Eclipse 关于 Java 6,并将其设置为默认值(或在单个项目中选择它)。

于 2015-06-25T15:00:54.273 回答
1

我最近在我的机器上使用了 Java 8,使用 Elicpse Oxygen 并尝试使用 Ant 构建 Java 6 项目时遇到了这个问题。我使用了上面的一些建议,但在 Ant 构建过程中也遇到了一些奇怪的行为。最后它起作用了,这是我的步骤:

1) Java 主页最终指向 Java 8。

2) 在 Ant 脚本中设置 @Chris 建议的值。

3)不要更改Ant Runtime JRE,我的保留在8,如果我将其更改为6,实际上不会运行Ant构建......

4)项目设置构建路径和编译器级别都设置为6。

5)运行构建。

这会生成对我有用的 Java 6 级别的构建。

于 2018-06-06T15:10:29.407 回答
0

我的解决方案是下载与 JRE 6/7 兼容的 ant 版本,并在“外部工具配置”中更改 Ant 主路径以匹配我下载的路径(ClassPath > Ant Home”)

在此处输入图像描述

于 2020-12-23T14:16:11.633 回答
-1

添加大于 1.7 的新 JRE 版本

于 2020-12-10T10:35:43.717 回答