调用init方法失败;添加Hibernate envers后的嵌套异常是java.lang.NoSuchMethodError
我正在尝试将HibernateEnvers添加到我们的一个SpringMVC项目中。我的实体类在单独的maven模块中,我在那里使用envers,然后将其作为本地maven repo安装,并在实际的Spring项目中作为依赖项使用。没有envers,一切正常。 我的hibernate Spring项目中的依赖关系树是:调用init方法失败;添加Hibernate envers后的嵌套异常是java.lang.NoSuchMethodError,java,spring,hibernate,hibernate-envers,Java,Spring,Hibernate,Hibernate Envers,我正在尝试将HibernateEnvers添加到我们的一个SpringMVC项目中。我的实体类在单独的maven模块中,我在那里使用envers,然后将其作为本地maven repo安装,并在实际的Spring项目中作为依赖项使用。没有envers,一切正常。 我的hibernate Spring项目中的依赖关系树是: [INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile [
[INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] +- org.hibernate:hibernate-core:jar:5.3.9.Final:compile
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final:compile
[INFO] +- org.hibernate:hibernate-ehcache:jar:5.3.9.Final:compile
[INFO] | \- (org.hibernate:hibernate-core:jar:5.3.9.Final:compile - omitted for duplicate)
[INFO] +- org.hibernate:hibernate-spatial:jar:5.3.9.Final:compile
[INFO] | \- (org.hibernate:hibernate-core:jar:5.3.9.Final:compile - omitted for duplicate)
[INFO] +- az.asdf.dcs:az.asdf.dcs.core:jar:1.1:compile
[INFO] | +- (org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile - omitted for duplicate)
[INFO] | +- (org.hibernate:hibernate-core:jar:4.3.6.Final:compile - omitted for conflict with 5.3.9.Final)
[INFO] | +- (org.hibernate:hibernate-spatial:jar:4.3-SNAPSHOT:compile - omitted for conflict with 5.3.9.Final)
[INFO] | \- (org.hibernate:hibernate-envers:jar:5.3.9.Final:compile - omitted for duplicate)
[INFO] \- org.hibernate:hibernate-envers:jar:5.3.9.Final:compile
[INFO] \- (org.hibernate:hibernate-core:jar:5.3.9.Final:compile - omitted for duplicate)
对于Spring依赖项:
[INFO] +- org.springframework:spring-core:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.3.3.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.3.RELEASE:compile
[INFO] | | +- (org.springframework:spring-beans:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | | \- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- org.springframework:spring-beans:jar:4.3.3.RELEASE:compile
[INFO] | | \- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- org.springframework:spring-context:jar:4.3.3.RELEASE:compile
[INFO] | | +- (org.springframework:spring-aop:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | | +- (org.springframework:spring-beans:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | | +- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | | \- (org.springframework:spring-expression:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- org.springframework:spring-expression:jar:4.3.3.RELEASE:compile
[INFO] | | \- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | \- org.springframework:spring-web:jar:4.3.3.RELEASE:compile
[INFO] | +- (org.springframework:spring-aop:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- (org.springframework:spring-beans:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- (org.springframework:spring-context:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | \- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-tx:jar:4.3.3.RELEASE:compile
[INFO] | +- (org.springframework:spring-beans:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | \- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-orm:jar:4.3.3.RELEASE:compile
[INFO] | +- (org.springframework:spring-beans:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | +- org.springframework:spring-jdbc:jar:4.3.3.RELEASE:compile
[INFO] | | +- (org.springframework:spring-beans:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | | +- (org.springframework:spring-core:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | | \- (org.springframework:spring-tx:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] | \- (org.springframework:spring-tx:jar:4.3.3.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-aspects:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-core:jar:4.2.4.RELEASE:compile
[INFO] | +- (org.springframework:spring-aop:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-beans:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-context:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-core:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | \- (org.springframework:spring-expression:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] +- org.springframework.security:spring-security-web:jar:4.2.4.RELEASE:compile
[INFO] | +- (org.springframework.security:spring-security-core:jar:4.2.4.RELEASE:compile - omitted for duplicate)
[INFO] | +- (org.springframework:spring-beans:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-context:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-core:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-expression:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | \- (org.springframework:spring-web:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] +- org.springframework.security:spring-security-config:jar:4.2.4.RELEASE:compile
[INFO] | +- (org.springframework.security:spring-security-core:jar:4.2.4.RELEASE:compile - omitted for duplicate)
[INFO] | +- (org.springframework:spring-aop:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-beans:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | +- (org.springframework:spring-context:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] | \- (org.springframework:spring-core:jar:4.3.12.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] \- az.asdf.dcs:az.asdf.dcs.core:jar:1.1:compile
[INFO] \- org.springframework.data:spring-data-cassandra:jar:2.0.2.RELEASE:compile
[INFO] +- (org.springframework:spring-context:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] +- (org.springframework:spring-beans:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] +- (org.springframework:spring-core:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] +- (org.springframework:spring-tx:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] +- (org.springframework:spring-expression:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] \- org.springframework.data:spring-data-commons:jar:2.0.2.RELEASE:compile
[INFO] +- (org.springframework:spring-core:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
[INFO] \- (org.springframework:spring-beans:jar:5.0.2.RELEASE:compile - omitted for conflict with 4.3.3.RELEASE)
我在这里没有看到任何版本冲突。但当我尝试运行时,会出现以下异常:
Unsatisfied dependency expressed through field 'sessionFactory';
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sessionFactory' defined in class path resource [Spring-Hibernate.xml]:
Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.envers.configuration.internal.GlobalConfiguration.<init>(Lorg/hibernate/envers/boot/internal/EnversService;Ljava/util/Map;)V]]
通过字段“sessionFactory”表示未满足的依赖关系;
嵌套异常为org.springframework.beans.factory.BeanCreationException:
创建在类路径资源[Spring Hibernate.xml]中定义的名为“sessionFactory”的bean时出错:
调用init方法失败;嵌套的异常是java.lang.NoSuchMethodError:org.hibernate.envers.configuration.internal.GlobalConfiguration。(Lorg/hibernate/envers/boot/internal/EnversService;Ljava/util/Map;)V]]
欢迎提出任何建议
更新:以下是我在核心和Spring项目中的pom.xml:
核心模块:
<dependencies>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>4.3-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-envers -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>5.3.9.Final</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
</dependencies>
org.hibernate.javax.persistence
hibernate-jpa-2.1-api
1.0.0.1决赛
org.hibernate
冬眠核心
4.3.6.最终版本
org.hibernate
冬眠空间
4.3-1
org.hibernate
冬眠核心
org.hibernate
冬眠使者
5.3.9.最终版本
org.springframework.data
弹簧数据卡桑德拉
2.0.2.1发布
Spring项目:
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springframework.version>4.3.3.RELEASE</springframework.version>
<spring.security.version>4.2.4.RELEASE</spring.security.version>
<hibernate.version>5.3.9.Final</hibernate.version>
</properties>
<dependencies>
<!--Spring resources-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${springframework.version}</version>
</dependency>
<!-- Spring + aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${springframework.version}</version>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>
<!--Spring resources-->
<!--Hybernate resources-->
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>2.6.11</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>${hibernate.version}</version>
</dependency>
<!--Hybernate resources-->
<!-- Apache Commons Upload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<!-- Apache Commons Upload -->
<!--for Log-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--for Log-->
<!---->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1211.jre7</version>
</dependency>
<!--Jackson JSON Parser-->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.6.3</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>az.asdf.dcs</groupId>
<artifactId>az.asdf.dcs.core</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>${hibernate.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.asteriskjava/asterisk-java -->
<dependency>
<groupId>org.asteriskjava</groupId>
<artifactId>asterisk-java</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
${project.build.directory}/project
UTF-8
4.3.3.1发布
4.2.4.1发布
5.3.9.最终版本
org.springframework
弹簧芯
${springframework.version}
org.springframework
SpringWebMVC
${springframework.version}
org.springframework
德克萨斯州春季
${springframework.version}
org.springframework
春季甲虫
${springframework.version}
org.springframework
春季方面
${springframework.version}
org.springframework.security
spring安全内核
${spring.security.version}
org.springframework.security
spring安全网
${spring.security.version}
org.springframework.security
spring安全配置
${spring.security.version}
org.hibernate.javax.persistence
hibernate-jpa-2.1-api
1.0.0.1决赛
org.hibernate
冬眠核心
${hibernate.version}
org.hibernate
休眠ehcache
${hibernate.version}
net.sf.ehcache
ehcache内核
2.6.11
org.hibernate
冬眠空间
${hibernate.version}
文件上传
文件上传
1.2.2
公地io
公地io
1.3.2
log4j
log4j
1.2.17
org.postgresql
postgresql
9.4.1211.jre7
org.codehaus.jackson
杰克逊地图绘制者
1.9.13
com.fasterxml.jackson.core
杰克逊数据绑定
2.7.5
org.codehaus.jackson
jackson core asl
1.6.3
罐子
com.googlecode.json-simple
简单json
1.1
朱尼特
朱尼特
4.12
javax.servlet
javax.servlet-api
3.1.0
org.eclipse.paho
org.eclipse.paho.client.mqttv3
1.1.0
通用编解码器
通用编解码器
1.11
爪哇
javaeewebapi
7
假如
az.asdf.dcs
az.asdf.dcs.core
1.1
org.hibernate
冬眠使者
${hibernate.version}
org.asteriskjava
星号java
2.0.2
弹簧芯
,弹簧webmvc
,弹簧tx
已经在弹簧orm
内
请点击此处:
spring-security-web
spring-security-core
中也有同样的内容spring-security-config
您还与使用记录的Dependencies的版本存在冲突
因与4.3.3.1版本冲突而省略
您的依赖项清楚地表明,您正试图在代码模块中使用Hibernate ORM 4.3.6.Final和Hibernate Envers 5.3.9.Final。正如其他人多次提到的,这是一种依赖冲突
简而言之,Hibernate Envers的版本应该与Hibernate Core的版本相同。我认为.jar中存在一些冲突files@GaneshGudghe你是说hibernate罐子?我想这里有一个相关的问题@GaneshGudghe,我已经读过了。我的hibernate core和envers版本相同。请发布您的版本详细信息。正如我在依赖关系树中看到的,重复的依赖关系已经被忽略。此外,我认为它与Spring依赖关系无关,因为它在没有hibernate envers的情况下可以正常工作。对于测试,我已经注释掉了“冗余”依赖项,但现在它在启动期间抛出了另一个关于BeanDefinitionParsing的异常。顺便说一句,链接不起作用,但可读性更强,项目的2/3依赖项是重复的,不可读。另外,正如您在日志中看到的那样,许多依赖项可能会导致版本冲突。链接不起作用,因为您需要用您的spring依赖项替换“REPLACEME”噢,我的错:)毕竟它仍然不起作用,它与spring无关