2013-04-25 73 views
0

我正在使用最初在JBoss SOA服務器5.2版上使用EJB3持久性(JPA 1.0)編寫的應用程序進行遷移,以便它使用來自JPA 2.0(Hibernate Implementation)的類型安全查詢和條件查詢。到目前爲止,我一直無法部署EAR,因爲它無法找到適當版本的javax.persistence庫。該錯誤顯示它找不到類javax.persistence.criteria.Expression。從我可以看到的是從內置於JBoss的ejb3-persistence庫中加載javax.persistence類。我嘗試了各種方法,這些方法應該會導致JBoss首先使用應用程序庫,但無濟於事。任何幫助,將不勝感激。如何在JBoss SOA 5.x上部署JPA 2應用程序?

方法我都試過:

  1. 添加 「<架庫>」 配置到JBoss-app.xml文件
  2. 添加的jboss-classloading.xml文件EAR的META-INF文件夾
  3. 修改ear-deployer-jboss-beans.xml文件以使用隔離類。

回答

0

答案是「jboss-classloading.xml」文件適用於Web應用程序,但無法覆蓋發佈的EJB的類加載。已發佈EJB的庫在服務器級別必須是唯一的,並且由於JBoss aleady包含處理java.persistence。*名稱空間的庫,因此不能在EJB中使用任何其他版本的JPA。

相關問題