9
respostas

Não Consigo gerar o BD

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 28 more

9 respostas

Edson Boa noite,

Pode me passar mais informações da versão do seu JDK e a versão do TomCat?

jdk-11.0.9/ apache-tomcat-7.0

Olá Edson, Tudo certo?

Eu tive o mesmo problema no inicio do meu projeto, também estava usando o JDK 11, isso acontece devido a versão de compilação JAXB que dá erros com Java 9+, você não precisa remover o seu JDK 11, mas baixe o JDK 8 e mude nas suas variáveis para ele fique como o seu JDK padrão e mude no seu Eclipse no seu projeto clique com o botão direito, Properties/Java Build Path e altere o seu JDK do seu projeto, com certeza vai funcionar, eu passei pelo mesmo problema seu, pior que você começa alterar coisas que estão funcionando como o persistence.xml pensando que é o problema, inclusive tenho hoje instalado JDK 8, 11 e o 15 já para atender todas as demandas que possa necessitar no curso.

Mas uma dica que me lembrei agora, remova o seu TomCat e recrie ele usando o JDK 8, pois o que vc tem ele vai continuar apontando para o 11, remova e recrie para não ter erro e não esqueça de aponta para o JDK 8!

Boa Sorte DEV e se tiver mais duvidas que eu possa lhe ajudar e só chamar!

Fiz e refiz voltei a estaca zero. Teriam que passar tintim por tintim, não sou programador estava tentando aprender alguma coisa ... o curso é ruim da década passada. Não atualizaram nada. Não dão as dicas pra configurar o ambiente pra rodar.

Boa tarde Edson, Isso é o normal do Desenvolvedor, você trabalha muitas vezes com sistema legado, com isso você se depara com Java 7 e o 8 e até anteriores normalmente, o curso da Alura esta te dando uma oportunidade de aprender a desenvolver o que o mercado precisa, é difícil você encontrar projetos muito atuais nas empresas, estou te falando sobre isso por experiência própria, mas quero te ajudar, a fazer rodar e gerar o seu banco de dados, mas você consegue colocar o teu projeto no github e me enviar o link?

Meu projeto é o do curso. Importei a livraria.zip. Estou usando o TomCat v7.0 , MySQL 8.0, jdk8.0. Alterei o mysql-connector, só tenho uma dúvida se realmente tem que alterar o "hibernate.dialect " value "org.hibernate.dialect.MySQL5InnoDBDialect" se sim qual seria o correto. E a senha tem que informar?alterar a jdbc.url em vez de "localhost " seria "localhost:3306"?? Enfim, como você percebeu estou mais perdido...

Olá Edson,

Vou tentar resolver o teu problema, Alterei o mysql-connector, só tenho uma dúvida se realmente tem que alterar o "hibernate.dialect " value "org.hibernate.dialect.MySQL5InnoDBDialect" Resposta: Não, eu uso no meu projeto o MariaDB que é um fork do MySQL e uso esse Dialect.

E a senha tem que informar? Resposta: Depende, mas no meu projeto eu tenho senha, no meu caso a minha senha "root", segue a parte do persistence.xml do properties do meu projeto

e veja que o meu Banco de Dados MariaDB está em outra maquina, pois uso maquina virtual , mas se vc instalou o seu MySQL na sua maquina você vai usar "jdbc:mysql://localhost:3306/livrariadb"

Bora DEV, não desiste, não é fácil mesmo no começo, já passei muita raiva quando comecei, mas você tem que se dedicar para aprender, se você não tiver paciência para isso tente a área de Infraestrutura, só não desista, ou tente Python e depois volte para o Java mais tranquilo, Boa Sorte e Grande Abraço!

E de uma olhada nesse site : https://spigandoeaprendendo.wordpress.com/2020/08/25/solucao-java-lang-classnotfoundexception-javax-xml-bind-jaxbexception/

Segue abaixo o meu codigo do persistence.xml

<properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://10.0.0.21/livrariadb" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="*r3n4t0!" />

            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        </properties>