--add-модули только при компиляции
Я строю свой проект с Maven и Java-9. Я добавил в мой pom.xml
файл:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>
<arg>--add-modules</arg>
<arg>java.xml.bind</arg>
</compilerArgs>
</configuration>
</plugin>
Но все же, чтобы запустить приложение, я должен запустить его так:
java -jar --add-modules java.xml.bind my-app.jar
Есть ли способ собрать приложение, запустить из командной строки без --add-modules java.xml.bind
аргументы командной строки Java?
1 ответ
Я сделал этот ответ некоторое время назад, где я ответил на это в качестве дополнительной информации для разоблачения не java.se
пакеты в Java-9 с использованием Maven.
Добавленная часть специально посвящена использованию автономной версии java.xml.*
API-интерфейсы. Чтобы приспособиться к тому, что вы, вероятно, можете начать потреблять зависимость от jaxb-api:2.3.0
который может быть загружен как модуль и также может быть выполнен из classpath. Вам нужно внести следующие изменения в список зависимостей:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
Таким образом вы обеспечите переход на отдельные API-интерфейсы для модуля, а также отойдете от устаревшего фрагмента кода.