Java 11 și Cum se remediază java.lang. TypeNotPresentException: Tastați javax.xml.bind.JAXBContext Exception?

Publicat: 2018-12-15

Java11 și javax.xml.bind.JAXBContext Excepție

Te confrunți cu java.lang.TypeNotPresentException : Tastați excepția javax.xml.bind.JAXBContext care nu este prezentă ?

Astăzi, în timp ce rulez serviciul meu RESTful pe Eclipse, am observat o eroare javax.xml.bind.JAXBContext în consola mea Eclipse. Același program a funcționat perfect de anul trecut, fără nicio problemă.

Am început să mă gândesc la schimbările care au avut loc în mediul meu local. Nu a avut loc nicio înregistrare a codului de anul trecut, așa că m-am gândit că este în principal din cauza ultimei mele actualizări Java 11.

După cum vedeți în „Totul despre Java 11” anterior, nu mai există suport pentru modulele Java EE în el. Java 11 a eliminat suportul pentru java.xml.bind – care definește API-ul Java Architecture for XML Binding (JAXB).

Ea este un stack-trace complet:

Și acesta este motivul pentru care am început să ajung deasupra excepției. Pachetul Java 11 pentru javax.xml.bind nu mai există.

  • Versiunea Java 7: inclusă și funcțională
  • Versiunea Java 8: inclusă și funcțională
  • Versiunea Java 9: ​​depreciată
  • Versiunea Java 10: depreciată
  • Versiunea Java 11: eliminată

Pentru a remedia această problemă, trebuie să adăugați manual mai jos dependențe JAXB Maven la proiectul dvs.

Iată fișierul meu complet pom.xml, dacă este necesar:

Încercați să vă curățați proiectul Eclipse și încercați să rulați din nou serverul Tomcat. Nu ar trebui să mai vedeți această problemă.

Codare fericită și anunțați-mă dacă încă vă confruntați cu această excepție după ce adăugați mai sus dependențe Maven.