Hibernate 哪个版本的Spring+;冬眠+;JBoss工作
寻找关于Spring、Hibernate和JBoss的合作版本的指导。我目前正在使用:Hibernate 哪个版本的Spring+;冬眠+;JBoss工作,hibernate,spring,jboss,ivy,Hibernate,Spring,Jboss,Ivy,寻找关于Spring、Hibernate和JBoss的合作版本的指导。我目前正在使用: <dependencies> <dependency org="javax.servlet" name="jstl" rev="1.1.2" conf="runtime->default"/> <dependency org="org.springframework" name="spring" rev="2.5.6" conf="runtime->d
<dependencies>
<dependency org="javax.servlet" name="jstl" rev="1.1.2" conf="runtime->default"/>
<dependency org="org.springframework" name="spring" rev="2.5.6" conf="runtime->default"/>
<dependency org="org.springframework" name="spring-webmvc" rev="2.5.6" conf="runtime->default"/>
<dependency org="org.hibernate" name="hibernate-core" rev="3.5.6-Final" conf="runtime->default">
<exclude module="xml-apis"/>
</dependency>
<dependency org="org.hibernate" name="hibernate-annotations" rev="3.5.6-Final" conf="runtime->master"/>
<dependency org="commons-dbcp" name="commons-dbcp" rev="1.4" conf="runtime->default"/>
<dependency org="commons-lang" name="commons-lang" rev="2.5" conf="runtime->master"/>
<dependency org="org.slf4j" name="slf4j-jdk14" rev="1.6.1" conf="runtime->default"/>
<dependency org="org.slf4j" name="log4j-over-slf4j" rev="1.6.1" conf="runtime->default"/>
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" conf="runtime->default"/>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.1" conf="runtime->default"/>
<dependency org="log4j" name="log4j" rev="1.2.16" conf="runtime->default"/>
<dependency org="taglibs" name="standard" rev="1.1.2" conf="runtime->default"/>
<!-- exclude commons logging since we are using log4j-over-slf4j -->
<exclude module="commons-logging" />
</dependencies>
我得到以下错误:
org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的bean时出错,该bean在ServletContext资源[/WEB-INF/ecotrak data.xml]中定义:调用init方法失败;嵌套的异常是java.lang.NoClassDefFoundError:org/hibernate/annotations/common/reflection/MetadataProvider
类
o.h.a.c.r.MetadataProvider
由hibernate commons annotations
提供,我使用hibernate3.5.6-Final获得的版本是3.2.0.Final
。以防万一,下面是一个pet项目的筛选依赖关系树:
$ mvn dependency:tree -Dincludes=org.hibernate:::
[INFO] Scanning for projects...
...
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ domain ---
[INFO] com.acme.samples.javaee6.domain:domain:jar:1.0-SNAPSHOT
[INFO] +- org.hibernate:hibernate-validator:jar:4.0.2.GA:runtime
[INFO] +- org.hibernate:hibernate-entitymanager:jar:3.5.6-Final:compile
[INFO] | +- org.hibernate:hibernate-core:jar:3.5.6-Final:compile
[INFO] | \- org.hibernate:hibernate-annotations:jar:3.5.6-Final:compile
[INFO] | \- org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile
[INFO] +- org.hibernate:hibernate-jpamodelgen:jar:1.1.0.CR1:compile
[INFO] \- org.hibernate:hibernate-ehcache:jar:3.5.6-Final:compile
[INFO] ------------------------------------------------------------------------
$mvn依赖项:tree-Dincludes=org.hibernate::
[信息]正在扫描项目。。。
...
[信息]---maven依赖插件:2.1:tree(默认cli)@domain---
[INFO]com.acme.samples.javaee6.domain:domain:jar:1.0-SNAPSHOT
[INFO]+-org.hibernate:hibernate验证程序:jar:4.0.2.GA:runtime
[INFO]+-org.hibernate:hibernate entitymanager:jar:3.5.6-Final:compile
[信息]|+-org.hibernate:hibernate核心:jar:3.5.6-Final:compile
[INFO]\-org.hibernate:hibernate注释:jar:3.5.6-Final:compile
[INFO]\-org.hibernate:hibernate commons注释:jar:3.2.0.Final:compile
[INFO]+-org.hibernate:hibernate-jpamodelgen:jar:1.1.0.CR1:compile
[信息]\-org.hibernate:hibernate-ehcache:jar:3.5.6-Final:compile
[信息]------------------------------------------------------------------------
事实证明,我只需要使用jboss中包含的hibernate libs,包括JTA。这样做解决了我的问题。