我知道关于这个警告已经有很多问题,但我的问题有点不同。我了解我可以在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
中的某些配置来摆脱它?
答案 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
我的项目与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安装联系起来。