java - 如何在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?
解决方案
请不要直接在 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
它将改变项目的运行时和编译设置:
对此:
它应该会改变一切,但我发现有时运行配置(如 JUnit)并不总是能接受变化。在这种情况下,只需删除那些运行配置,重新创建它们,它们应该会反映新的 JRE。
推荐阅读
- android-studio - 我已将 JDK 8 升级到 JDK14,但在 android studio 中遇到了一些问题
- python - 检测是用python还是python3运行的python程序
- typescript - ts-protoc-gen 将列表附加到重复项
- c++ - 无法将 std::function 传递给 boost::asio async_accept 处理程序
- javascript - 数组项 vuejs 作为一个
- sql - 如何减少以下查询的挂墙时间?
- flutter - 使用后端提供的数据翻译 Flutter App
- swift - macOS 上的 SwiftUI,如何在 Button 上使用自定义图像符号?
- python - 使用 str.extract 从文本列表中提取数据框列
- asp.net - SignInManager.IsSignedIn(User) 返回 false