2013-04-25 74 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。

相关问题