JAXB-Paket existiert in Java 11 nicht mehr
Einführung
Bei der Migration von Java 8 Bei Java 11 kann es bei Benutzern zu dem Kompilierungsfehler „Paket javax.xml.bind existiert nicht“ kommen. Dieser Fehler ist auf die Entfernung des Pakets javax.xml.bind (JAXB) in Java 11 zurückzuführen.
Ursache
Gemäß Java Enhancement Proposal (JEP) 320, Java 9 ist veraltet und Java 11 hat Java EE-Module, einschließlich JAXB, entfernt. Diese Änderung wurde vorgenommen, um die Editions- und Ökosystemstrategie von Java zu optimieren.
Lösung
Um das Problem zu beheben, können Sie alternative Versionen von Java EE-Technologien verwenden, indem Sie den folgenden Maven hinzufügen Abhängigkeiten zu Ihrem Projekt:
<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 (März 2020) Update
Sie können auch Jakarta XML Binding von Jakarta EE 8 verwenden:
<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 (November 2020) Update
Jakarta EE 9 brachte eine neuere Version der Jakarta XML Binding 3.0. So aktualisieren Sie Ihren 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>
Hinweis: jakarta.xml.bind erfordert Java 8 oder höher.
Jakarta EE 10 (Juni 2022) Update
Jakarta EE 10 bringt die neueste Version von Jakarta XML Binding 4.0. So aktualisieren Sie Ihren 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>
Hinweis: jakarta.xml.bind 4.0 erfordert Java SE 11 oder höher.
Das obige ist der detaillierte Inhalt vonWarum ist das JAXB-Paket in Java 11 nicht mehr verfügbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!