21

maven私たちは、他の内部アーティファクトに順番に依存するアーティファクトを使用し、持っています。私はに移行する過程にあり、最初にコードをモジュール化せずに (つまり、名前のないモジュールで) すべてを Java 9 に移行するつもりです。

java.xml.bind私が遭遇した問題は、デフォルトのモジュールに含まれていない に依存していることです。この依存関係java.xml.bindをMavenで表現する「正しい」方法はありますか?

4

4 に答える 4

11

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

その後、プロジェクトは正常にコンパイルされるはずです。

于 2017-09-07T02:35:13.170 に答える
2

これが誰かに役立つことを願っています。たまたま、Java 9 または 10 をインストールしていて、このjavax.xml.bindエラーを回避できないことに気付いた場合は、フォルダーごとにjenvを介して Java 8 を使用している可能性があります (あいまいで申し訳ありません)。 、しかし、現時点で時間があるのはそれだけです)?

しかし、JAVA_HOME の正しい設定を追加すると、export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"MacOS で問題が解決しました。

于 2018-08-14T18:42:08.263 に答える