Java 如何从JBoss中删除hibernate-jpa-2.0
我正在使用Jboss工具、Hibernate、Mysql、Maven和Eclipse使用JSF开发一个web应用程序 我已经在maven中添加了hibernate核心依赖项 但是,当我尝试进行连接测试时,会出现以下错误:Java 如何从JBoss中删除hibernate-jpa-2.0,java,hibernate,maven,jpa,jboss,Java,Hibernate,Maven,Jpa,Jboss,我正在使用Jboss工具、Hibernate、Mysql、Maven和Eclipse使用JSF开发一个web应用程序 我已经在maven中添加了hibernate核心依赖项 但是,当我尝试进行连接测试时,会出现以下错误: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index; 我意识到hibernate maven依赖项有hibernate-jpa-2.1,但JBoss有h
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
()覆盖项目应该使用的版本号。在其中为hibernate-jpa-2.1创建一个依赖项,并且(只要groupId
和artifactId
相同),此处的版本应覆盖任何依赖POM中的版本exclusions
删除不需要的临时依赖项()您应该使用JBoss提供的JPA(当然,除非您需要特别是2.1中的内容)。所以,最好是修复依赖项以指向正确的jpa,而不是删除JBossOne。否则,您将不得不在应用程序中打包单独的jpa提供商,而不是使用可能经过更多测试的提供商。