我正在实现一个jsf+spring+hibernate web应用程序,我使用的是hibernate实体管理器5.2.13,这是我在pom.xml中的依赖:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.13.Final</version>
</dependency>但是我收到了错误AbstractMethodError。我从here获得线索,并使用命令mvn enforcer:enforce查找依赖冲突。这是输出:
Dependency convergence error for org.jboss.logging:jboss-logging:3.3.1.Final paths to dependency are:
+-com.peter:Project:0.0.1-SNAPSHOT
+-org.hibernate:hibernate-entitymanager:5.2.13.Final
+-org.jboss.logging:jboss-logging:3.3.1.Final
and
+-com.peter:Project:0.0.1-SNAPSHOT
+-org.hibernate:hibernate-entitymanager:5.2.13.Final
+-org.hibernate:hibernate-core:5.2.13.Final
+-org.jboss.logging:jboss-logging:3.3.1.Final
and
+-com.peter:Project:0.0.1-SNAPSHOT
+-org.hibernate:hibernate-entitymanager:5.2.13.Final
+-org.hibernate.common:hibernate-commons-annotations:5.0.1.Final
+-org.jboss.logging:jboss-logging:3.3.0.Final显然,hibernate-entitymanager:5.2.13.Final有多个版本的jboss-logging,它们是来自不同包的jboss-logging:3.3.1.Final和jboss-logging:3.3.0.Final。我怎样才能解决这个问题?它能通过排除hibernate-commons-annotations包下的那个来修正吗?我试图这样排除它:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.13.Final</version>
<exclusions>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
</exclusions>
</dependency>但是,出现了另一个错误,即jboss类是必需的,我猜这是因为上面的尝试是将所有jboss日志记录从依赖项中排除在外。我想要的是只从org.hibernate.common:hibernate-commons-annotations中排除这一个。有什么想法吗?
发布于 2018-09-21 10:28:01
尝试使用dependencyManagement在您的pom.xml中选择版本。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.1.Final</version>
</dependency>
</dependencies>
</dependencyManagement>https://stackoverflow.com/questions/48779316
复制相似问题