我正在使用Jboss Tools, Hibernate, Mysql, Maven和Eclipse开发一个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
有两个选项:
-
你可以使用
dependencyManagement
(docs)来覆盖你的项目应该使用的版本号。在这里为hibernate-jpa-2.1创建一个依赖项(只要groupId
和artifactId
相同),这里的版本应该覆盖任何依赖POM中的版本。 -
使用
exclusions
来摆脱不需要的瞬态依赖(文档)