VRAPTOR - Erro exercício Validator

3 respostas
C

Olá amigos boa noite,

Estou fazendo o curso da Caelum “Desenv. Ágil para Web 2.0 com VRaptor, Hibernate e AJAX”, e estou com dificuldade em resolver o exercício 9.3 do VRPATOR validator.

Coloquei na classe produto as annotations que foram pedidas (@NotNull, @Lenght, @Min, @Max).

Alterei o método adiciona() da Classe ProdutoController com o código abaixo:

public void adiciona(final Produto produto){

	validator.validate(produto);
	validator.onErrorUsePageOf(ProdutoController.class).formulario();		
	
	dao.salvar(produto);
	result.forwardTo(this).lista();
}

Ao executar o projeto, está ocorrendo o erro abaixo:

HTTP Status 404 -


type Status report

message

description The requested resource () is not available.


Apache Tomcat/6.0.26

Vejam o log de erro:

17/07/2012 22:21:51 org.apache.catalina.core.StandardContext filterStart

GRAVE: Exception starting filter vraptor

org.springframework.beans.factory.BeanCreationException: Error creating bean with name criadorDeSessionFactory: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

at br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.start(SpringBasedContainer.java:106)

at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:87)

at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:108)

at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:102)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)

at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:519)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:581)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Caused by: org.hibernate.HibernateException: Unable to get the default Bean Validation factory

at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:127)

at org.hibernate.cfg.Configuration.applyBeanValidationConstraintsOnDDL(Configuration.java:1674)

at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1624)

at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1415)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)

at br.com.caelum.goodbuy.infra.CriadorDeSessionFactory.abre(CriadorDeSessionFactory.java:32)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)

 33 more

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:118)

 45 more

Caused by: java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2527)

at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1010)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1483)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)

at org.hibernate.validator.internal.util.logging.LoggerFactory.make(LoggerFactory.java:28)

at org.hibernate.validator.internal.util.Version.<clinit>(Version.java:27)

at org.hibernate.validator.internal.engine.ConfigurationImpl.<clinit>(ConfigurationImpl.java:63)

at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:41)

at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269)

at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:380)

at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:109)

 50 more

Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)

 66 more

17/07/2012 22:21:51 org.apache.catalina.core.StandardContext start

GRAVE: Error filterStart

17/07/2012 22:21:51 org.apache.catalina.core.StandardContext start

GRAVE: Context [/goodbuy] startup failed due to previous errors

17/07/2012 22:21:51 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

GRAVE: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

Pelo que entendi, o erro é de conexão com o banco de dados, no entanto, quando retorno com o código anterior, o sistema volta a funcionar normalemente.

Alguém pode me orientar na solução deste erro?

3 Respostas

Lucas_Cavalcanti

se vc está dentro do jboss vc não precisa do jar do hibernate-validator…

agora se estiver no tomcat, dá uma olhada nos jars do hibernate validator que vc importou, eles devem estar errados.

C

Olá Lucas,

Estou utilizando o TomCat 6.0.

Os jars que importei para o hibernate validator funcionar são:

  • hibernate-validator-4.3.0.Final.jar
  • hibernate-jpa-2.0-api-1.0.0.Final.jar
Lucas_Cavalcanti

Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger

algum jar seu ou classe da sua aplicação está referenciando essa classe. precisa ver qual é.

Criado 17 de julho de 2012
Ultima resposta 18 de jul. de 2012
Respostas 3
Participantes 2