【问题标题】:How to remove hibernate-jpa-2.0 from JBoss如何从 JBoss 中删除 hibernate-jpa-2.0
【发布时间】:2014-08-14 21:33:05
【问题描述】:

我正在使用 Jboss Tools、Hibernate、Mysql、Maven 和 Eclipse 开发一个带有 JSF 的 Web 应用程序。

我已经在 maven 中添加了 hibernate-core 依赖。

但是当我尝试进行连接测试时,我得到了这个错误:

java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;

我发现hibernate maven依赖有hibernate-jpa-2.1,但是JBoss有hibernate-jpa-2.0,所以这是不兼容错误。

如何从 JBoss 库中删除 hibernate-jpa-2.0 ?

【问题讨论】:

  • 您应该使用 JBoss 提供的 JPA(当然,除非您需要特别是 2.1 的东西)。所以更好的办法是修复依赖项以指向正确的 jpa 而不是删除 jboss 之一。否则,您将不得不在您的应用程序中打包单独的 jpa 提供程序,而不是使用可能经过更多测试的提供程序。

标签: java hibernate maven jpa jboss


【解决方案1】:

有两种选择:

  1. 您可以使用dependencyManagement (docs) 覆盖您的项目应使用的版本号。在那里为hibernate-jpa-2.1创建一个依赖(只要groupId和artifactId相同),这里的版本应该覆盖任何依赖POM中的版本。

  2. 使用exclusions 摆脱不需要的临时依赖关系 (docs)

【讨论】:

    猜你喜欢
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    相关资源
    最近更新 更多