コンパイル エラー: Java 11 パッケージ javax.xml.bind が見つかりません
Java 11 で Java プロジェクトをビルドしようとすると、次のような問題が発生する可能性があります。パッケージ javax.xml.bind が存在しないことを示すコンパイル エラーが発生します。このエラーは、JAXB (Java XML Binding) を含む Java EE モジュールが Java 11 で削除されたために発生します。
解決策: 代替依存関係を使用します
問題を解決するには、 Java EE テクノロジーの代替バージョンを使用する必要があります。次の Maven 依存関係をプロジェクトに追加します:
<code class="xml"><dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.0</version> </dependency></code>
Jakarta EE 8 以降のアップデート
古い JAXB モジュールを使用する代わりに、Jakarta XML を使用することもできます。 Jakarta EE 8 以降からのバインディング:
Jakarta EE 8 (2020 年 3 月)
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.3</version> <scope>runtime</scope> </dependency></code>
Jakarta EE 9 (2020 年 11 月)
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>3.0.0</version> <scope>runtime</scope> </dependency></code>
Jakarta EE 10 (2022 年 6 月)
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>4.0.0</version> <scope>runtime</scope> </dependency></code>
注: Jakarta EE 9 以降の場合、使用するインポート ステートメントを更新します。 javax.xml.bind.
の代わりに、jakarta.xml.bind 名前空間以上がJava 11 で「パッケージ javax.xml.bind が見つかりません」コンパイル エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。