当前位置: 首页 > 知识库问答 >
问题:

对于多个Java版本,避免在Eclipse中出现“工作区中没有安装严格兼容的JRE”警告

韩弘方
2023-03-14

我知道关于这个警告已经有很多问题了,但我的问题有点不同。我知道我可以在pom.xml中使用这个配置来修复它

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

构建路径指定执行环境JavaSE-1.7。工作区中没有安装与此环境严格兼容的JRE

我的项目与Java7、8、9和10兼容。我想实现的是,如果每次都不更改我的pom.xml中的版本以匹配当前安装的Java版本,就安装了这些版本的Java中的任何一个,则避免出现此警告。告诉Eclipse Java7或更高版本是好的。

该项目仍然可以编译,并且可以很好地处理该警告,它只是分散了注意力,因为它将该项目标记为有问题。我知道我可以在Eclipse设置中隐藏这种类型的警告,但是有没有办法只使用pom.xml中的某些配置就可以摆脱它呢?

共有1个答案

罗伟志
2023-03-14

作为Maven集成的一部分,Eclipse使用值 1.7 来决定在构建路径中包括哪个执行环境。

执行环境映射到Eclipse中安装的JREs(即在preferences>Java>installed JREs中引用)。

映射本身是在preferences>Java>Installed JREs>Runtime environments中配置的。Eclipse会自动将执行环境(例如JavaSE-1.7)与已安装的JRE(例如JDK1.7.0_80)匹配。如果与项目中指定的执行环境没有完全匹配,它将给您一个警告,就像您正在得到的警告一样。

因此,要摆脱警告,您必须要么:

  • 安装与您的 (即JDK1.7)完全匹配的Java版本,并将其添加到首选项>Java>已安装的JREs>运行时环境
  • 将pom中的Java版本配置为与之完全匹配的版本

我的项目与Java7、8、9和10兼容。我想要实现的是,如果安装了这些版本的Java中的任何一个,则避免出现此警告

不,它不会,因为默认的目标是1.5。目标配置是一个非可选的配置属性,没有“Target everything”选项。

您可以从构建路径中删除Maven配置的执行环境,并直接添加一个JRE(Project properties>Java构建路径>Libraries>add Library...>JRE System Library>Alternate JRE)。这也会使警告消失,但只要您运行Maven项目更新,它就会回来。实际上不应该使用这样的配置,因为它将您的项目与机器上特定的Java安装联系在一起。

 类似资料:
  • 在Eclipse中运行java项目后,我会收到以下警告。

  • 我似乎已经解决了直接的编译错误,但希望有更深入的了解,在StackExchange或谷歌搜索错误消息中没有找到任何直接适用的信息。 全新错误消息: 当我检查应用程序的Java构建路径时: 只有四项:1)导入的jar文件库(用于API)2)Android 4.4.2 3)Android依赖项4)Android私有库

  • 我用的是早期的MacBook。10.6.8 将javac版本绑定到 终端返回javac 1.6.0_65,其中javac返回usr/bin/javac 使用Eclipse Juno 所以我假设安装了JRE+JDK。如有任何帮助,我们将不胜感激!我已经想办法解决这个问题好几个小时了。谢谢你。

  • 我在VSCode工作区中设置JRE时遇到了一些问题。我以为问题是在中正确设置了,但我仍然得到以下错误: 我想这是因为JRE指定了Java10而我使用了Java11。 对于如何为vscode设置JRE有什么建议吗? 另外,这里是我正在使用的java版本和我的设置。

  • 我使用OS X Yosemite(10.10.2),并且有一些我想在Eclipse中构建的java项目。有些项目是旧的,它们在Java5、6和7中。最初,我安装了JDK7和Eclipse Luna。然后我读了这个和这个线程如何在Mac上安装特定的JDK。我使用这个脚本安装JDK,并更改了这两行,以便与Yosemite兼容。 由 下面是我的目录的内容 但我不知道有谁能在优胜美地使用这些java版本。

  • 我安装了一个JDK1.8.0_92,它也被添加到Eclipse Neon中的Java/installed JRE中。其中包含java编译器和标准JDK的所有其他组件的“bin”子文件夹。但是,当我试图将这个JRE分配为GlassFish服务器的“服务器运行时环境”时,Eclipse抱怨它需要JDK而不是JRE。旧的JDK1.7.0_55文件夹不会产生这个问题,Eclipse认为它是一个JDK,而不