2014-06-24 72 views
0

我正在使用Jboss Tools,Hibernate,Mysql,Maven和Eclipse开发一个带有JSF的web应用程序。如何从JBoss中删除hibernate-jpa-2.0

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

但是,当我尝试做一个连接如测试中,我得到这个错误:

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

我意识到休眠Maven的依赖具有休眠,JPA-2.1,但JBoss已经休眠,JPA-2.0,所以这是一个不兼容错误。

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

+0

你还是使用由JBoss提供JPA(当然,除非你需要特别是从2.1的东西)的。所以更好的办法是修复依赖关系,指向正确的jpa而不是删除jboss。否则,您将不得不将单独的jpa提供程序打包到您的应用程序,而不是使用潜在的更多测试程序。 – Gas

回答

0

有两种选择:

  1. 您可以使用dependencyManagementdocs)来覆盖你的项目应该使用的版本号。在那里为hibernate-jpa-2.1创建依赖关系,并且(只要groupIdartifactId是相同的),此处的版本应该覆盖任何相关POM中的版本。

  2. 使用exclusions摆脱不必要的短暂的依赖(docs