Java 11 y cómo reparar java.lang. TypeNotPresentException: Escriba javax.xml.bind.JAXBContext Exception?

Publicado: 2018-12-15

Java11 y javax.xml.bind.JAXBContext Excepción

¿Se enfrenta a java.lang.TypeNotPresentException : Escriba javax.xml.bind.JAXBContext no presenta la excepción?

Hoy, mientras ejecutaba mi servicio RESTful en mi Eclipse, noté un error de javax.xml.bind.JAXBContext en mi consola de Eclipse. El mismo programa funcionaba perfectamente bien desde el año pasado sin ningún problema.

Empecé a pensar en los cambios ocurridos en mi entorno local. No se registró ningún código desde el año pasado, así que pensé que se debía principalmente a mi última actualización de Java 11.

Como puede ver en mi anterior Todo sobre Java 11, ya no hay soporte para módulos Java EE en él. Java 11 eliminó la compatibilidad con java.xml.bind , que define la API de Java Architecture for XML Binding (JAXB).

Her es un seguimiento de pila completo:

Y esa es la razón por la que comencé a obtener por encima de la excepción. El paquete Java 11 para javax.xml.bind ya no existe.

  • Versión Java 7: Incluida y Funcionando
  • Versión Java 8: Incluida y Funcionando
  • Versión de Java 9: ​​en desuso
  • Versión de Java 10: obsoleta
  • Versión de Java 11: eliminada

Para solucionar este problema, debe agregar manualmente las siguientes dependencias de JAXB Maven a su proyecto.

Aquí está mi archivo pom.xml completo si es necesario:

Intente limpiar su proyecto Eclipse e intente ejecutar su servidor Tomcat nuevamente. Ya no deberías ver este problema.

Feliz codificación y avíseme si aún enfrenta esta excepción después de agregar las dependencias de Maven anteriores.