#java #maven #java-9 #maven-surefire-plugin #java-module
#java #maven #java-9 #maven-верный плагин #java-модуль
Вопрос:
Я обновляю версию java в нашем производственном коде с java 8 до java 11.
Я должен добавить приведенную ниже конфигурацию модуля JDK в команду запуска java приложения из-за использования сторонних библиотек, таких как flume, zookeeper и т. Д.
--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.
Есть идеи, что я делаю не так и как это исправить?
Ответ №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>