避免在工作区中安装严格兼容的"无JRE。 Eclipse中针对多个Java版本的警告

时间:2018-05-01 12:50:44

标签: java eclipse maven m2eclipse m2e

我知道关于这个警告已经有很多问题,但我的问题有点不同。我了解我可以在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>

这消除了警告,但前提是我在Eclipse中安装并配置了Java 7。例如,如果我只有Java 8,我仍然会看到警告,除非我将上面配置中的版本更改为1.8:

  

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

我的项目与Java 7,8,9和10兼容。我想要实现的是,如果安装了这些版本的Java而没有更改pom.xml中的版本以匹配目前每次都安装Java版本。要告诉Eclipse Java 7或其他任何东西都是好的。

该项目仍然可以编辑并且可以正常处理警告,它只会分散注意力,因为它会将项目标记为有问题。 我知道我可以在Eclipse设置中隐藏这种类型的警告,但有没有办法通过仅使用pom.xml中的某些配置来摆脱它?

1 个答案:

答案 0 :(得分:2)

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

执行环境映射到Eclipse中安装的JRE (即Preferences > Java > Installed JREs中引用)。

映射本身在Preferences > Java > Installed JREs > Runtime Environments中配置。 Eclipse会自动将执行环境(例如JavaSE-1.7)与已安装的JRE(例如jdk1.7.0_80)匹配。如果项目中指定的执行环境没有完全匹配,它将向您发出类似于您获得的警告。

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

  • 安装与<target>完全匹配的Java版本(例如jdk1.7,并将其添加到Preferences > Java > Installed JREs > Runtime Environments
  • 将pom中的Java版本配置为完全匹配的版本
  

我的项目与Java 7,8,9和10兼容。我想要实现的是在安装了这些Java版本的情况下避免此警告

配置要使用的执行环境时,Eclipse只关心<target>值。您需要确保在Eclipse中安装了JRE ,其版本与该属性的值完全匹配。否则,警告不会消失,期间。

  

我没有意图定位某个特定版本,默认目标对我来说很好。

不,它不会,因为默认目标是1.5。目标配置是一个非可选的配置属性,没有&#39;目标一切&#39;选项。

您可以从构建路径中删除Maven配置的执行环境,并直接添加JRE(project properties > Java Build Path > Libraries > Add library... > JRE System Library > Alternate JRE)。这也会使警告消失,但一旦运行Maven项目更新,它就会恢复。不应该使用这样的配置,因为它将您的项目与您计算机上的特定Java安装联系起来。