ChatGPT解决这个技术问题 Extra ChatGPT

警告 - 构建路径指定执行环境 J2SE-1.4

我在 Eclipse Helios 中创建了一个 Maven 项目。它可以正常工作一天,但随后出现此警告:

构建路径指定执行环境 J2SE-1.4。工作空间中没有安装与此环境严格兼容的 JRE。

由于此消息,项目停止编译和调试。有没有人有这个问题的解决方案?


J
JasonMArcher

在您项目的 Eclipse 中:

右键单击您的项目单击属性 Java 构建路径:库;删除“JRE System Library[J2SE 1.4]”点击Add Library -> JRE System Library 选择新的“Execution Environment”或者Workspace默认的JRE


这个答案对 Eclipse 是正确的,但对 Maven + Eclipse 是错误的
这将暂时解决问题,直到运行另一个 maven 构建,此时 JRE 版本将重置为默认值。请参阅 Pascal Thivent 的回答以更改 POM 中指定的 JRE 的默认版本。
都不起作用。每当您执行 [Alt][F5] 更新 maven 配置时,所有此类手动调整都会得到很多,并且警告会回来。请参阅 bugs.eclipse.org/bugs/show_bug.cgi?id=376619
使用 Eclipse 2020-09,您需要在“添加库...”按钮启用之前选择“模块路径”。这可能取决于您安装的 Java 版本。 Java 正处于这种不断变化的状态。我正在使用 OpenJDK Corretto-11.0.9。
S
Stevoisiak

无论你使用的是maven eclipse插件还是m2eclipse,Eclipse的项目配置都是从POM派生的,所以需要配置maven编译插件为1.6(默认为1.4)。

将以下内容添加到您的项目的 pom.xml,保存,然后转到您的 Eclipse 项目并选择 Properties >马文>更新项目配置:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>

我同意,这是正确的答案。许多其他解决方案将暂时解决该问题,直到运行另一个 Maven 构建,此时 JRE 将重置为默认版本。将此插件添加到 POM 会更改默认的 JRE 版本。
这在 pom.xml 中的哪里(完整的 XPATH 位置)?无论我在哪里添加它,Maven 都会抱怨 pom 格式错误。
这是正确的答案。接受的答案是临时修复!
我在我的 maven pom.xml 中有这个,但仍然收到警告。一切似乎都正常,但警告仍然存在
N
Niroshan Ratnayake

上述解决方案可修复项目或以某种方式解决问题。有时您只是不想修复项目而只是隐藏警告。

为此,请配置警告面板的内容并确保关闭“构建路径”->“JRE 系统路径问题”类别。此对话框的 UI 有点复杂/怪异/可用性受到挑战,因此您可能必须摆弄一些选项才能使其按照您的意愿行事。


我使用 JDK 7 以相同的方式设置了两个工作区,但编译为 1.6(我们最终会移过来)。机器被良好的旧 Windows 更新硬关闭 - 并且打开的工作区开始显示这一点并且不会被缓和。感谢您指出解决方法!
或者另一种更简洁的方式:Window -> Preferences -> Java -> Compiler -> Building -> 将“No strict compatible JRE for execution environment”设置为“Ignore”
@RedYeti 这应该可以,但不适合我(Eclipse 4.5)
k
krock

在 Eclipse 首选项中,转到 Java->Installed JREs->Execution Environment 并为 J2SE-1.4 设置 JRE Execution Environment


这将暂时解决问题,直到运行另一个 maven 构建,此时 JRE 版本将重置为默认值。请参阅上面 Pascal Thivent 的答案以更改 POM 中指定的 JRE 的默认版本。
不,这是更改工作区安装的 JRE,而不是特定项目的 JRE(这是公认的答案)
C
Christian

此警告的实际原因是您已将项目配置为使用较早的 JRE 版本运行,然后您已安装。通常,只要您将旧项目与较新的 JRE 一起使用,就会发生这种情况。

这可能根本不会造成任何问题。 但是如果你想真正在保存方面,你应该安装正确的旧 JDK。您可以在此处找到它们:http://www.oracle.com/technetwork/java/archive-139210.html

如果您然后重新启动 eclipse,您可以进入 Window > Preferences > Java > Installed JREs > Execution Environments 并在您的情况下为 J2SE-1.4 设置 eclipse 调用它的 [perfect match]。


赞成是因为我有一个 Java 7 项目并且只安装了 Java 8。
N
N..

如果你有 Java 1.8 那么

您需要 pom.xml 中的这个 xml 部分并更新项目。

 <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

c
cyberdemon

正如其他人所写的那样,解决此警告的正确过程是进入您的项目属性,然后单击左侧的 Java 构建路径。现在您会在 Libraries Window 中找到 J2SE 1.5,双击它会出现一个新窗口,您可以选择正确的执行环境。现在选择您的版本,警告将消失。


I
Inasa

如果它可能以某种方式帮助某人,我在 STS(Spring Tool Suite)中遇到了同样的警告。

这是源 https://www.baeldung.com/eclipse-change-java-version,下面是它的摘要:

警告:构建路径指定执行环境 javase-11。工作区中没有安装与此环境严格兼容的 jres。

环境:Ubuntu 20.04(默认OpenJDK11)STS 4

要解决警告:

更改 STS 工作区的 JRE(默认情况下,STS 使用嵌入在其插件中的 JRE):Window>Preferences>Installed JREs>Add>Standard VM>Directory(浏览到您的 openjdk 文件夹,在我的情况下为 /usr/lib/ jvm/java-11-openjdk-amd64)>Finish) 检查新的 JRE,然后应用并关闭现在配置 spring-boot 项目以使用新添加的 JRE:右键单击项目 > 属性 > Java 构建路径 > 在库中选项卡 > 删除旧的 JRE,然后在 Modulepath 添加库 > JRE 系统库 > 环境(选择 JavaSE-11,确保在右侧面板上检查它,提到“完美匹配”),应用并关闭


S
Stevoisiak

您是否将项目设置为符合 1.4 标准?如果是,do what krock said。或者更准确地说,您需要选择 J2SE-1.4 执行环境并检查您要在 1.4 合规模式下使用的已安装 JRE 之一;您很可能会安装 1.6 JRE,只需检查那个。或者,如果您有安装工具包,请安装 1.4 JRE,然后使用该工具包。

否则,转到您的 Eclipse 首选项,Java -> 编译器并检查合规性是否设置为 1.4。如果是改回1.6。如果不是转到项目属性,请检查它是否具有项目特定设置。转到 Java Compiler,如果您想使用通用 Eclipse 首选项,请取消选中该选项。或者将项目特定设置设置为 1.6,这样无论 Eclipse 偏好如何,它始终为 1.6。


这将暂时解决问题,直到运行另一个 maven 构建,此时 JRE 版本将重置为默认值。请参阅上面 Pascal Thivent 的答案以更改 POM 中指定的 JRE 的默认版本。
A
Ankitha J

只需在 Window-> Preferences-> Java -> Installed JREs 中更改版本。检查已安装的 JRE 列表。然后,右键单击您的项目-> 属性-> Java 构建路径-> 库。将“JRE 系统库”更改为“已安装的 JRE”中的版本。

警告将消失。


P
Pragati Chaturvedi

我收到项目警告为“构建路径指定执行环境 J2SE-1.5。工作空间中没有安装与此环境严格兼容的 JRE”。我删除了 J2SE1.5 库并添加了解决我的问题的新 JRE 系统库


这与 btpka3's answer 有何不同?
A
Akhil

在工作区展开你的项目>>右键(JRE System Libraries)>>选择属性>>选择工作区默认JRE以上解决办法sol


这只是重复 btpka3's answer 涵盖的信息

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅