Gli java.xml.bind e java.activation sono stati rimossi da JDK 11. Tali moduli
contenevano i seguenti package:
javax.activationjavax.xml.bindjavax.xml.bind.annotationjavax.xml.bind.annotation.adaptersjavax.xml.bind.attachmentjavax.xml.bind.helpersjavax.xml.bind.utilQuesta regola contrassegna le applicazioni che utilizzano uno dei pacchetti elencati in precedenza e impacchettano la propria implementazione JAXB. In precedenza, un'implementazione JAXB avrebbe potuto fare affidamento sulle API elencate in precedenza per essere accessibili da JDK. Tuttavia, a partire da JDK 11, tali API non sono più accessibili.
Le applicazioni che forniscono la propria applicazione JAXB dovranno aggiornare l'implementazione JAXB fornita con una versione compatibile con Java che fornisce le API rimosse insieme all'implementazione.
Un'altra soluzione è quella di passare all'implementazione JAXB predefinita di Liberty. Questo può essere fatto aggiungendo l'opzione jaxb-2.2 alla funzione Liberty server.xml configurazione file. Inoltre, è necessario rimuovere le implementazioni JAXB fornite nell'applicazione per
evitare problemi di caricamento della classe.
Gli schemagen e
xjc sono stati rimossi anche dal JDK 11.
Questi strumenti sono disponibili nella sezione Liberty bin/jaxb dell'installazione di Liberty.
Il fix automatico fornito dalla regola generale di Java SE 11 aggiorna iljavax.xml.bind e javax.activationnelle dipendenze dell'applicazione per assicurarsi che non siano che non siano impacchettati nell'applicazione. Nella maggior parte dei casi, questa soluzione risolve il problema e previene i problemi di caricamento delle classi.
Copiare la configurazione personalizzata (custom configuration) nel file di build dell'applicazione per abilitare l'automazione delle correzioni.
Per ulteriori informazioni sulle modifiche di JDK 11, consultare Removal of Java EE and CORBA Modules.