如何将 --add-opens JDK 模块配置传递给 Maven 测试
how to pass --add-opens JDK module configuration to maven test
我正在将生产代码中的 java 版本从 java 8 升级到 java 11。
由于使用了第三方库,如 flume、zookeeper 等,我必须在应用程序 java 启动命令中添加以下 JDK 模块配置
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
添加此配置后,java 应用程序正常启动。
但是当我 运行 使用 mvn test
进行测试时,测试失败了。我已经将以下配置添加到 maven-surefire-plugin 但它仍然抛出错误。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<argLine>--illegal-access=permit</argLine>
<argLine>--add-opens java.base/java.lang=ALL-UNNAMED</argLine>
<argLine>--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED</argLine>
<argLine>-Dillegal-access=permit</argLine>
</configuration>
</plugin>
我想我没有在 Maven 测试中正确传递参数。
知道我做错了什么以及如何解决这个问题吗?
是单人argLine
,喜欢:
<argLine>
--add-exports org.junit.platform.commons/org.junit.platform.commons.util=ALL-UNNAMED
--add-exports org.junit.platform.commons/org.junit.platform.commons.logging=ALL-UNNAMED
</argLine>
我正在将生产代码中的 java 版本从 java 8 升级到 java 11。
由于使用了第三方库,如 flume、zookeeper 等,我必须在应用程序 java 启动命令中添加以下 JDK 模块配置
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
添加此配置后,java 应用程序正常启动。
但是当我 运行 使用 mvn test
进行测试时,测试失败了。我已经将以下配置添加到 maven-surefire-plugin 但它仍然抛出错误。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<argLine>--illegal-access=permit</argLine>
<argLine>--add-opens java.base/java.lang=ALL-UNNAMED</argLine>
<argLine>--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED</argLine>
<argLine>-Dillegal-access=permit</argLine>
</configuration>
</plugin>
我想我没有在 Maven 测试中正确传递参数。 知道我做错了什么以及如何解决这个问题吗?
是单人argLine
,喜欢:
<argLine>
--add-exports org.junit.platform.commons/org.junit.platform.commons.util=ALL-UNNAMED
--add-exports org.junit.platform.commons/org.junit.platform.commons.logging=ALL-UNNAMED
</argLine>