Estou concluindo a apostila Caelum de Java, porém nesse capitulo a mesma deixa muitas dúvidas:
Ao iniciar o meu servidor, ele apresenta a seguinte mensagem dizendo que nenhuma implementação do SessionFactory foi encontrada, porém está configurada:
Verifica se no classpath da sua aplicação estão os jars do Guice. O VRaptor utiliza o Guice como provedor principal, então se este estiver no classpath aquele vai simplesmente ignorar o Spring.
M
marlonmaxwel
Realmente existe guice-3.0.jar e o guice-multibindings-3.0.jar no meu classpath, devo remover eles do meu classpath?
Isso irá interferir na execução do VRaptor?
B
bob_sponja
É só retirá-los que o Spring será utilizado e não fará diferença entre um e outro, pro VRaptor o que importa é ter um container de DI…
M
marlonmaxwel
Agora ele está dizendo que eu não tenho nenhum DI
Eu estou usando os seguintes jars do Spring no meu classpath: spring-orm-4.0.0.M1.jar e spring-tx-4.0.0.M1.jar
Seria incompatibilidade do VRaptor com a versão do Spring? Qual versão você usa?
B
bob_sponja
Cara, no próprio download do VRaptor tem os jars do Spring que devem ser usados.
B
bob_sponja
E não sei se a versão 4 do Spring é compatível. O VRaptor determina qual container será utilizado verificando se a classe que representa aquele container está no classpath. Dessa forma, ele verifica se a classe “org.springframework.context.ApplicationContext” está presente e, se estiver, o Spring será o container. E não sei se na versão 4 essa classe existe…
Eu falei que ele usa o Guice por padrão, mas na verdade ele procura primeiro pelo Spring e se não achar que vai pro Guice.
L
Lucas_Cavalcanti
creio que tenha que ser o spring 3 mesmo…
você tá usando o maven? se sim, é só declarar essas libs:
além do orm e tx da mesma versão.
M
marlonmaxwel
Pessoal,
Depois de colocar todos os jar do Spring que vem no VRaptor, ficou faltando apenas os jar do orm e do tx. Eu procurei e baixei os mesmo na versão 3.0.5(antes eu estava com esses 2 arquivos da versão 4.x.x).
Após isso ocorreu vários erros que estavam faltando jar e eu corrigi todos, porém agora está dando o seguinte erro:
Jul 22, 2013 8:52:10 AM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter vraptor
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
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.initFilter(ApplicationFilterConfig.java:281)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4746)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5399)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider;
Eu já estou usando a versão hibernate-core-4.2.2.Final.jar e também o org.springframework.orm-3.0.5.RELEASE.jar, alguém sabe o porque do erro?
M
marlonmaxwel
Lucas Cavalcanti:
creio que tenha que ser o spring 3 mesmo…
você tá usando o maven? se sim, é só declarar essas libs:
tá faltando o jar desse cara… é um jar do hibernate… vc tá com o hibernate 3.6.x no classpath?
L
Lucas_Cavalcanti
PS: Se vc usar maven, ivy, bundler ou qqer cara do tipo vc não vai ter que ficar se preocupando com ficar procurando quais são os jars certos pra aplicação.
M
marlonmaxwel
Lucas eu tenho uma aplicação que eu trabalho cliente/servidor utilizando o Maven e realmente basta você fazer as configurações dos Artefatos no pom que fica tudo lindo. Assim que acabar esse curso da Apostila, vou migrar todo o projeto para trabalhar com o Maven.
tá faltando o jar desse cara… é um jar do hibernate… vc tá com o hibernate 3.6.x no classpath?
Estou usando os seguintes jars do Hibernate no meu classpath: hibernate-commons-annotations-4.0.2.Final.jar, hibernate-core-4.2.2.Final.jar, hibernate-jpa-2.0-api-1.0.1.Final.jar e hibernate-validator-5.0.1.Final.jar
M
marlonmaxwel
Estou desanimando de utilizar VRaptor + Spring, quanto mais eu corrigjo os erros, mais aparece e isso tudo por causa da integração do VRaptor e do Spring, olha os erros:
SEVERE: Exception starting filter vraptor
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
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.initFilter(ApplicationFilterConfig.java:281)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4746)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5399)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 29 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
at org.hibernate.util.SimpleMRUCache.init(SimpleMRUCache.java:71)
at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:55)
at org.hibernate.engine.query.QueryPlanCache.<init>(QueryPlanCache.java:76)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:239)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1872)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 36 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.LRUMap
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 46 more
INFO: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.ProfilerEventHandlerFactory. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1600)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4721)
at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1630)
at org.hibernate.connection.DriverManagerConnectionProvider.close(DriverManagerConnectionProvider.java:175)
at org.hibernate.connection.DriverManagerConnectionProvider.finalize(DriverManagerConnectionProvider.java:165)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Unknown Source)
at java.lang.ref.Finalizer.access$100(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
Eu vou corrigir os arquivos que estão acusando a ausência de determinados jars no classpath, mais isso de ir corrigindo erro e ir aparecendo mais erros é normal?
L
Lucas_Cavalcanti
cara, toda vez que vc ver um java.lang.NoClassDefFoundError, é falta de jar…
nesse caso é:
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
tá faltando o jar do apache commons collections…
Não é um problema da integração Spring x VRaptor
Por esse motivo é que a gente costuma usar maven, ivy ou similar.
Não se desanime!
M
marlonmaxwel
Lucas Cavalcanti:
cara, toda vez que vc ver um java.lang.NoClassDefFoundError, é falta de jar…
nesse caso é:
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
tá faltando o jar do apache commons collections…
Não é um problema da integração Spring x VRaptor
Por esse motivo é que a gente costuma usar maven, ivy ou similar.
Não se desanime!
Lucas, é complicado configurar o VRaptor no Maven?
Pois eu já tenho experiencia com o Maven, estou cansando de ter essas dor de cabeça.
Consegui resolver esses problemas, porém agora que estou usando o Spring para gerar minha sessão e trabalhar com o Hibernate no acesso aos dados do meu banco, o mesmo está apresentando o seguinte erro quando acesso alguma página que trabalha com o BD:
Outro java.lang.NoClassDefFoundError, desta vez para org/aspectj/util/PartialOrder$PartialComparable
vc tá usando maven mesmo?
precisa do jar do aspectj tools
M
marlonmaxwel
Lucas Cavalcanti:
Outro java.lang.NoClassDefFoundError, desta vez para org/aspectj/util/PartialOrder$PartialComparable
vc tá usando maven mesmo?
precisa do jar do aspectj tools
Lucas ainda não estou usando, vou configurar o projeto.
Mesmo assim no meu classpath eu tenho a versão já: aspectjrt-1.6.9.jar
É a mesma que está nas dependências do VRaptor.
Estou baixando a versão 1.7.3 para ver se é problema de versão.