2
respostas

Falha ao subir o Tomcat

Boa noite! Minha aplicação estava subindo normalmente, mas agora está apresentando uma exception de jaxb que não consegui identificar a causa. Alguém pode me ajudar? Obs.: fiquei uns dias sem mexer, e o que mudou de lá pra cá foi o ambiente como um todo. Agora estou num SO Linux Mint 64 bits, com Mysql 5, java 9, etc... Será que pode ser isso? Até então estava realizando os execícios em um ambiente bem diferente (inferior).

Segue a stacktrace:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in org.casadocodigo.loja.conf.JPAConfiguration: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

E a classe:

package org.casadocodigo.loja.conf;

import java.util.Properties;

import javax.persistence.EntityManagerFactory;

import org.springframework.context.annotation.Bean; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.JpaVendorAdapter; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import org.springframework.transaction.annotation.EnableTransactionManagement;

@EnableTransactionManagement public class JPAConfiguration {

@Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory() {

LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();

factoryBean.setJpaVendorAdapter(vendorAdapter);

DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setUsername("root"); dataSource.setPassword(""); dataSource.setUrl("jdbc:mysql://localhost:3306/casadocodigo"); dataSource.setDriverClassName("com.mysql.jdbc.Driver");

factoryBean.setDataSource(dataSource);

Properties props = new Properties(); props.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); props.setProperty("hibernate.show_sql", "true"); props.setProperty("hibernate.hbm2ddl.auto", "update");

factoryBean.setJpaProperties(props);

factoryBean.setPackagesToScan("org.casadocodigo.loja.models");

return factoryBean; }

@Bean public JpaTransactionManager transactionManager(EntityManagerFactory emf) { return new JpaTransactionManager(emf); } }

2 respostas

Oi Pedro, batendo o olho no seu código eu vejo que está dando um ClassNotFoundException, me parece que faltou uma classe. Vc está usando maven? Tenta rodar um maven install?

Abraço!

Boa tarde Yuri!

Já tinha feito clean, update project, e install no maven... e conferido um tanto de coisa... mas no fim descobri... era meu usuário do mysql que estava sem permissão. A classNotFoundException não me ajudou em nada dessa vez, hehehe. Mas muito obrigado pela ajuda.

Abraço!