如何通过 --add-open JDK 模块配置进行 maven 测试

我正在将生产代码中的java版本从java 8升级到java 11。

由于使用了第三方库(如flume,zookeeper等),我必须在应用程序java start命令中添加以下JDK模块配置。

--add-opens java.base/java.lang=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED

添加此配置后,Java应用程序启动良好。

但是当我使用测试运行测试时,测试失败了。我已经将以下配置添加到maven-surefire-plugin中,但它仍然抛出错误。mvn test

<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测试中正确通过参数。任何想法我做错了什么,如何解决这个问题?


答案 1

它是一个一的,比如: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>

答案 2

推荐