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>
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>
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 :
<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>
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 :
<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>
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!