как передать —add-открывает конфигурацию модуля JDK в тест maven

#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>