私は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コマンドライン引数なしでコマンドラインから実行するアプリケーションをビルドする方法はありますか?
Mavenを使用してJava-9で_Java.se
以外のパッケージを公開するための追加情報としてこれに答えた この回答 .
追加された部分は、特に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への移行と、 非推奨のコードからの移行が確実になります。