添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Referente ao curso Java e JPA: persista seus objetos com a JPA2 e Hibernate , no capítulo Configuração e Inicialização da JPA e atividade Primeiros passos com a JPA

Aparece a seguinte exceção no console ao ser executada a classe Teste, como resolver?

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43) at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:86) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:212) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:174) at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at br.com.caelum.financas.testes.Teste.main(Teste.java:20) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 12 more

Oi Leandro,

A partir do Java 9 entrou um novo sistema do módulos no mundo Java. A principio uma boa ideia, no entanto não todos os módulos são carregados por padrão.

Em outras palavras, o JaxB vem junto com o JRE mas não é carregado automaticamente. Como o Hibernate acha que o modulo foi carregado (como era antes), vc recebeu o erro NoClassDefFoundError .

A noticia boa é que vc pode pedir pra a JVM que ela carregue esse modulo e tudo volte a funcionar. Vou ser "malandro" e passar um artigo de um instrutor da caelum que explica como resolver e adicionar o modulo:

https://alexandreaquiles.com.br/2017/10/13/sofrencia-com-java-9-cade-meu-jaxb/

Tudo bem?