ホームページ >Java >&#&チュートリアル >JAXB パッケージが Java 11 で使用できなくなったのはなぜですか?

JAXB パッケージが Java 11 で使用できなくなったのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-05 10:10:02707ブラウズ

Why is the JAXB package no longer available in Java 11?

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 の新しいリリースが導入されました。ビルドをアップグレードするには:

  • Jakarta EE 9 API を jakarta.xml.bind-api に更新します
  • 互換性のある実装を jaxb-impl バージョン 3.0.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 の最新リリースが導入されています。ビルドをアップグレードするには:

  • Jakarta EE 10 API を jakarta.xml.bind-api に更新します
  • 互換性のある実装を jaxb-impl バージョン 4.0.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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。