我试图在我的EAR中发布我自己的Hibernate版本时遇到困难(而不是JBoss默认带来的版本).@H_502_2@
然后我通过在EAR中包含一个包含以下内容的jboss-app.xml文件来使我的部署成为“作用域”:@H_502_2@
@H_502_2@
并且,像往常一样,我将持久性单元中的持久性提供程序声明为Hibernate,如下所示:@H_502_2@
@H_502_2@
但是,最糟糕的情况发生了.在部署时,服务器在尝试从org.hibernate.ejb.HibernatePersistence转换为JPA接口javax.persistence.spi.PersistenceProvider(由HibernatePersistence表示)时抛出ClassCastException.@H_502_2@
这有点像WEIRD,因为我也在我的EAR中发布JPA API,因此,鉴于EAR的类优先于JBoss的类,从HibernatePersistence转换为PersistenceProvider时应该没有问题,因为它们“应该”是“在同一个班级装载机上.@H_502_2@
如果我没有发布自己的JPA API,那么当JBoss试图找到一些JPA类时,部署会因ClassNotFoundException而失败.@H_502_2@
任何关于为什么这个演员失败的想法?@H_502_2@
我正在使用JBoss 5.1.0,并尝试使用Hibernate 3.5.6.Final. JPA API版本是由被提取的Hibernate版本传递的版本.@H_502_2@
最佳答案