JAXB パッケージは Java 11 には存在しなくなりました
はじめに
Java 8 から移行する場合Java 11 では、「パッケージ javax.xml.bind が存在しません」というコンパイル エラーが発生する可能性があります。このエラーは、Java 11 での javax.xml.bind (JAXB) パッケージの削除に起因します。
原因
Java Enhancement Proposal (JEP) 320 に従って、 Java 9 では非推奨となり、Java 11 では JAXB を含む Java EE モジュールが削除されました。この変更は、Java のエディションとエコシステム戦略を合理化するために行われました。
解決策
この問題を解決するには、次の Maven を追加して、Java EE テクノロジの代替バージョンを使用できます。プロジェクトへの依存関係:
<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 (2020 年 3 月) 更新
Jakarta EE 8 の Jakarta XML バインディングも使用できます:
<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 月) アップデート
Jakarta EE 9 では、Jakarta XML Binding 3.0 の新しいリリースが導入されました。ビルドをアップグレードするには:
<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.xml.bind には Java 8 以降が必要です。
Jakarta EE 10 (2022 年 6 月) 更新
Jakarta EE 10 には、Jakarta XML Binding 4.0 の最新リリースが導入されています。ビルドをアップグレードするには:
<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.xml.bind 4.0 には Java SE 11 以降が必要です。
以上がJAXB パッケージが Java 11 で使用できなくなったのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。