Zadanie java.xml.bind oraz java.activation zostały usunięte z JDK 11. Te moduły zawierały następujące pakiety:
javax.activationjavax.xml.bindjavax.xml.bind.annotationjavax.xml.bind.annotation.adaptersjavax.xml.bind.attachmentjavax.xml.bind.helpersjavax.xml.bind.utilTa reguła oznacza aplikacje, w których używany jest dowolny z powyższych pakietów, a implementacja JAXB została umieszczona wraz z aplikacją w jednym pakiecie. Wcześniej implementacja JAXB mogła zakładać, że podane wcześniej interfejsy API są dostępne w pakiecie JDK. Jednak począwszy od pakietu JDK 11 te interfejsy API nie są już dostępne.
Jeśli implementacja JAXB została umieszczona wraz z aplikacją w jednym pakiecie, należy zaktualizować tę implementację, używając wersji kompatybilnej ze środowiskiem Java 11, która uwzględnia usunięte interfejsy API i implementację.
Innym rozwiązaniem jest przejście na domyślną implementację JAXB serwera Liberty. Można to zrobić poprzez dodanie jaxb-2.2 do funkcji Liberty server.xml . Ponadto wszystkie implementacje JAXB umieszczone wraz z aplikacją w jednym pakiecie muszą zostać usunięte, aby uniknąć wystąpienia problemów z
ładowaniem klas.
Zadanie schemagen i
xjc zostały również usunięte z JDK 11.
Narzędzia te są dostępne w Liberty bin/jaxb w katalogu instalacji Liberty.
Automatyczna poprawka dostarczona przez ogólną zasadę Java SE 11 aktualizujejavax.xml.bind oraz javax.activationmoduły w zależnościach aplikacji, aby zapewnić że nie są one spakowane w aplikacji. W większości przypadków ta poprawka rozwiąże ten problem i zapobiegnie problemom z ładowaniem klas.
Skopiuj konfigurację niestandardową do pliku budowania aplikacji, aby włączyć automatyzację poprawek.
Więcej informacji na temat zmian wprowadzonych w pakiecie JDK 11 zawiera publikacja Removal of Java EE and CORBA Modules (Usunięcie modułów Java EE i CORBA).