Maison > Java > javaDidacticiel > Pourquoi le package JAXB n'est-il plus disponible dans Java 11 ?

Pourquoi le package JAXB n'est-il plus disponible dans Java 11 ?

Linda Hamilton
Libérer: 2024-11-05 10:10:02
original
663 Les gens l'ont consulté

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

Le package JAXB n'existe plus dans Java 11

Intro

Lors de la migration depuis Java 8 vers Java 11, les utilisateurs peuvent rencontrer l'erreur de compilation « le package javax.xml.bind n'existe pas ». Cette erreur provient de la suppression du package javax.xml.bind (JAXB) dans Java 11.

Cause

Selon la proposition d'amélioration Java (JEP) 320, Java 9 est obsolète et Java 11 a supprimé les modules Java EE, y compris JAXB. Ce changement a été apporté pour rationaliser l'édition et la stratégie de l'écosystème de Java.

Solution

Pour résoudre le problème, vous pouvez utiliser des versions alternatives des technologies Java EE en ajoutant le Maven suivant dépendances à votre projet :

<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>
Copier après la connexion

Jakarta EE 8 (mars 2020) Mise à jour

Vous pouvez également utiliser la liaison XML Jakarta à partir de Jakarta EE 8 :

<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>
Copier après la connexion

Mise à jour de Jakarta EE 9 (novembre 2020)

Jakarta EE 9 a apporté une version plus récente de la liaison XML de Jakarta 3.0. Pour mettre à niveau votre build :

  • Mettre à jour l'API Jakarta EE 9 vers jakarta.xml.bind-api
  • Mettre à jour l'implémentation compatible vers jaxb-impl version 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>
Copier après la connexion

Remarque : jakarta.xml.bind nécessite Java 8 ou version ultérieure.

La mise à jour de Jakarta EE 10 (juin 2022)

Jakarta EE 10 apporte la dernière version de Jakarta XML Binding 4.0. Pour mettre à niveau votre build :

  • Mettre à jour l'API Jakarta EE 10 vers jakarta.xml.bind-api
  • Mettre à jour l'implémentation compatible vers jaxb-impl version 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>
Copier après la connexion

Remarque : jakarta.xml.bind 4.0 nécessite Java SE 11 ou version ultérieure.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal