我在Eclipse 2019-09中创建了一个Maven项目。该项目在每个项目上都有src / java和src / test文件。几个测试具有try-with-resources语句。我正在使用JDK8,并且已经在Eclipse的Java构建路径中设置了JDK和JUnit库。
当我选择右键单击项目->运行为-> Maven测试/安装时,得到以下输出:
[错误] /C:/Users/Workstation/eclipse-workspace/my-project/src/test/java/me/myname/myproject/MyProjectTest.java:[43,21]不支持try-with-resources源码1.5[错误](使用-source 7或更高版本来启用try-with-resources)
此外,我在项目属性上将“编译器合规性级别”更改为1.8。
所以,问题是如何使用-source 7或更高版本在Eclipse中使用Maven启用try-with-resources?
请不要直接在Eclipse中更改编译器设置,让POM成为此类配置的主要工具。在Eclipse中更改配置将覆盖您在POM中的设置。
将其添加到您的POM(Maven的默认Java设置设置为1.5):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<!-- You can use properties to set the parameters below -->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
然后右键单击您的项目,然后选择:
Maven > Update Project ... > Check "Update project configuration from pom.xml" > OK
它将从此更改prjoect的运行时和编译设置:
对此:
它应该更改所有内容,但是我发现有时运行配置(例如JUnit)并不总是能够接受更改。在这种情况下,只需删除这些运行配置,然后重新创建它们,它们便应反映新的JRE。