我正在迁移最初在 JBoss SOA 服务器版本 5.2 上使用 EJB3 持久性(JPA 1.0)编写的应用程序,以便它使用来自 JPA 2.0(休眠实现)的类型安全查询和标准查询。到目前为止,我完全无法部署 EAR,因为它找不到正确版本的 javax.persistence 库。该错误表明它找不到类 javax.persistence.criteria.Expression。据我所知,它正在从 JBoss 内置的 ejb3-persistence 库中加载 javax.persistence 类。我尝试了各种方法,这些方法应该会导致 JBoss 首先使用应用程序库,但无济于事。任何帮助,将不胜感激。
我尝试过的方法:
- 向 jboss-app.xml 文件添加“<loader-repository>”配置
- 将 jboss-classloading.xml 文件添加到 EAR 的 META-INF 文件夹
- 修改 ear-deployer-jboss-beans.xml 文件以使用隔离类。