Struts2 + Spring + JPA

1 resposta
L

Boas pessoal.

Encontrei este tutorial que me pareceu excelente porque fala de tudo o que vou usar no meu projecto.

http://struts.apache.org/2.x/docs/struts-2-spring-2-jpa-ajax.html

O problema é que não consegui pôr isto a funcionar.
Já alguém fez isto? Funcionou?

O meu servidor é o Websphere. O erro que dá é este:

Server started

14:10:43,015 ERROR [ContextLoader] Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor’: Cannot create inner bean (inner bean) of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property transactionInterceptor; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name (inner bean)’: Cannot resolve reference to bean transactionManager while setting bean property transactionManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name transactionManager defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean entityManagerFactory while setting bean property entityManagerFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name entityManagerFactory defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager

Caused by:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name (inner bean)’: Cannot resolve reference to bean transactionManager while setting bean property transactionManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name transactionManager defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean entityManagerFactory while setting bean property entityManagerFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name entityManagerFactory defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager

Caused by:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name transactionManager defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean entityManagerFactory while setting bean property entityManagerFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name entityManagerFactory defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager

Caused by:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name entityManagerFactory defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager

Caused by:

java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager

at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:105)

at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:125)

at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:218)

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)

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

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

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

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

Alguma ideia?
Obrigado pela ajuda

1 Resposta

L

Ok depois de andar aqui a dar com a cabeça na parede encontrei o erro.

Faltava-me adicionar esta lib hibernate-commons-annotation.jar
que não é referida no tutorial.

Fica aí a dica se alguém tiver o mesmo problema.

Abraço.

Criado 13 de junho de 2007
Ultima resposta 13 de jun. de 2007
Respostas 1
Participantes 1