Module java.xml.bind und java.activation wurden aus JDK 11 (angepasste Implementierung) entfernt

Der java.xml.bind und java.activation module wurden aus dem JDK 11 entfernt. Diese Module enthalten die folgenden Pakete:

Diese Regel markiert Anwendungen, die eines der zuvor aufgelisteten Pakete verwenden und ihre eigene JAXB-Implementierung packen. In früheren Releases stützte sich eine JAXB-Implementierung möglicherweise auf die Zugänglichkeit der zuvor aufgelisteten APIs über das JDK. Ab JDK 11 sind diese APIs nicht mehr zugänglich.

Anwendungen, die ihre eigene JAXB-Implementierung packen, müssen ihre gepackte JAXB-Implementierung mit einer Java 11-kompatiblen Version aktualisieren, die die entfernten APIs zusammen mit der Implementierung packen.

Eine andere Lösung ist die Umstellung auf die Standard-JAXB-Implementierung von Liberty. Dies kann geschehen durch Hinzufügen der jaxb-2.2 funktion zum Liberty server.xml konfiguration datei. Außerdem müssen alle zuvor in der Anwendung gepackten JAXB-Implementierungen entfernt werden, um Probleme beim Laden von Klassen zu vermeiden.

Der schemagen und xjc werkzeuge wurden auch aus JDK 11 entfernt. Diese Tools sind verfügbar in der Liberty bin/jaxb verzeichnis der Liberty Installation.

Die automatische Korrektur, die durch die allgemeine Regel Java SE 11 bereitgestellt wird, aktualisiert diejavax.xml.bind und javax.activationmodule in den Abhängigkeiten der Anwendung, um sicherzustellen dass sie nicht in die Anwendung gepackt werden. In den meisten Fällen behebt diese Korrektur das Problem und verhindert Probleme beim Laden von Klassen. Kopieren Sie die angepasste Konfiguration in die Builddatei Ihrer Anwendung, um die Fixautomatisierung zu aktivieren.

Weitere Informationen zu den Änderungen in JDK 11 finden Sie unter Removal of Java EE and CORBA Modules.