#ИМЯ?

Я строю свой проект с maven и . Я добавил в свой 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, которая может быть загружена как модуль и может также выполняться из класса. Необходимо внести изменения в список зависимостей:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

Таким образом вы обеспечиваете переход на автономные API для модуля, а также переход от устаревшей части кода.