Java 11 e Como corrigir java.lang. TypeNotPresentException: Digite a exceção javax.xml.bind.JAXBContext?

Publicados: 2018-12-15

Exceção Java11 e javax.xml.bind.JAXBContext

Você está enfrentando java.lang.TypeNotPresentException : Digite javax.xml.bind.JAXBContext não apresenta exceção?

Hoje ao executar meu serviço RESTful no meu Eclipse notei erro javax.xml.bind.JAXBContext no meu console do Eclipse. O mesmo programa estava funcionando perfeitamente bem desde o ano passado sem nenhum problema.

Comecei a pensar nas mudanças que aconteceram no meu ambiente local. Não houve nenhum check-in de código ocorrido desde o ano passado, então pensei que era principalmente por causa da minha última atualização do Java 11.

Como você vê no meu Tudo sobre o Java 11 anterior, não há mais suporte para módulos Java EE nele. O Java 11 removeu o suporte para java.xml.bind – que define a API Java Architecture for XML Binding (JAXB).

Ela é um rastreamento de pilha completo:

E essa é a razão pela qual comecei a ficar acima da exceção. O pacote Java 11 para javax.xml.bind não existe mais.

  • Versão Java 7: Incluído e Funcionando
  • Versão Java 8: Incluído e Funcionando
  • Versão do Java 9: ​​obsoleta
  • Versão do Java 10: obsoleta
  • Versão do Java 11: Removido

Para corrigir esse problema, você precisa adicionar manualmente as dependências do JAXB Maven abaixo ao seu projeto.

Aqui está meu arquivo pom.xml completo, se necessário:

Tente limpar seu projeto Eclipse e tente executar seu servidor Tomcat novamente. Você não deve mais ver esse problema.

Boa codificação e deixe-me saber se você ainda enfrenta essa exceção depois de adicionar as dependências Maven acima.