Java 11 パッケージ javax.xml.bind は非推奨になりました
Java 8 では、パッケージ javax.xml.bind に次の Java アーキテクチャが含まれています。 XML バインディング (JAXB) クラス。開発者は、Java オブジェクトを XML との間でシリアル化および逆シリアル化できます。ただし、Java 11 では、javax.xml.bind パッケージが削除されました。
Java 11 で javax.xml.bind が削除されたのはなぜですか?
The javax.bind xml.bind パッケージは Java EE (Enterprise Edition) モジュールの一部でした。 Java 11 では、Oracle は javax.xml.bind を含む Java EE モジュールを削除しました。これは、Java プラットフォームをモジュール化して軽量化するための大規模な取り組みの一環でした。
問題を解決するにはどうすればよいですか?
問題を解決するには 2 つの方法があります。 :
1. Java EE テクノロジーの代替バージョンを使用します。
Oracle は、Java 11 で使用できる JAXB を含む 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>
2. Jakarta XML バインディングを使用します。
Jakarta XML バインディングは、Jakarta EE プラットフォームの一部である JAXB 仕様の新しい実装です。 Jakarta XML Binding は JAXB と完全な互換性があり、javax.xml.bind のドロップイン置換として使用できます。 Jakarta XML Binding を使用するには、次の Maven 依存関係をプロジェクトに追加する必要があります:
<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 XML Binding の最新バージョンは 3.0.0 です。これを使用するには、上記のコード スニペット内の依存関係のバージョンを 3.0.0.
に置き換えます。以上がjavax.xml.bind パッケージが Java 11 で非推奨になったのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。