首页 > 解决方案 > 如何在eclipse中添加maven参数?

问题描述

我在 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 不支持 - source 1.5 [ERROR](使用 -source 7 或更高版本来启用 try-with-resources)

另外,我在项目属性上将“编译器合规级别”更改为 1.8。

那么,问题是如何使用 -source 7 或更高版本在 Eclipse 中启用 Maven 的 try-with-resources?

标签: javaeclipsemaven

解决方案


请不要直接在 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

它将改变项目的运行时和编译设置:

默认 JRE 设置

对此:

更改了 JRE 设置

应该会改变一切,但我发现有时运行配置(如 JUnit)并不总是能接受变化。在这种情况下,只需删除那些运行配置,重新创建它们,它们应该会反映新的 JRE。


推荐阅读