【问题标题】:Hibernate 5 dependency has version conflict with itself on jboss-loggingHibernate 5 依赖在 jboss-logging 上与自身存在版本冲突
【发布时间】:2018-02-14 03:46:02
【问题描述】:

我正在实现一个 jsf+spring+hibernate 网络应用,我使用的是 hibernate-entitymanager 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.Finaljboss-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-logging 类,我猜这是因为上面的尝试是从依赖项中排除所有 jboss-logging。我想要的是仅从org.hibernate.common:hibernate-commons-annotations 中排除一个。有什么想法吗?

【问题讨论】:

  • 明确地将特定版本的 jboss-logging 直接添加到您的项目中......

标签: hibernate maven


【解决方案1】:

尝试在你的 pom.xml 中使用dependencyManagement 来选择版本。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <version>3.3.1.Final</version>
        </dependency>
    </dependencies>
</dependencyManagement>

【讨论】:

    猜你喜欢
    • 2013-05-22
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多