maven
私たちは、他の内部アーティファクトに順番に依存するアーティファクトを使用し、持っています。私はjava-9に移行する過程にあり、最初にコードをモジュール化せずに (つまり、名前のないモジュールで) すべてを Java 9 に移行するつもりです。
java.xml.bind
私が遭遇した問題は、デフォルトのモジュールに含まれていない に依存していることです。この依存関係java.xml.bind
をMavenで表現する「正しい」方法はありますか?
--add-modules
はい、 Java コンパイラに渡す必要があります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<release>9</release>
<compilerArgs>
<arg>--add-modules</arg>
<arg>javax.xml.bind</arg>
</compilerArgs>
</configuration>
</plugin>
その後、プロジェクトは正常にコンパイルされるはずです。
これが誰かに役立つことを願っています。たまたま、Java 9 または 10 をインストールしていて、このjavax.xml.bindエラーを回避できないことに気付いた場合は、フォルダーごとにjenvを介して Java 8 を使用している可能性があります (あいまいで申し訳ありません)。 、しかし、現時点で時間があるのはそれだけです)?
しかし、JAVA_HOME の正しい設定を追加すると、export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
MacOS で問題が解決しました。