我有一个包含 4 个模块的企业应用程序项目。它部署在 WLS 10.3.4 上。我正在使用 eclipse helios 与用于 eclipse 的 oracle web 工具进行开发。 我机器上的本地 WLS 安装为开发模式。
项目结构如下:
xxx_EAR
|-> xxx_JPA
|-> xxx_EJB
|-> xxx_EJBClient
|-> xxx_WEB
跨模块使用的通用 jar 在 xxx_EAR/APP-INF/lib 中
在 xxx_JPA 中是具有三个持久性单元的 persistence.xml,在 xxx_EJB 中是使用 @PersistentContext 引用它们的类、bean。
EJB version is 3.0
JPA is 1.0 (Eclipselink 1.1.x)
并且在我的电脑上一切正常。 当我尝试在测试 WLS 上部署 EAR 文件时出现以下异常
Unable to deploy EJB: XxxFacadeImpl from xxx_EJB.jar:
No persistence unit named 'xxx_EJB' is available in scope xxx_EJB.jar. Available persistence units: []
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:469)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:518)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
...
正如我所见,服务器之间的唯一区别是安装模式,测试 WLS 安装为生产模式。
你有什么提示吗?
提前致谢!!
最佳答案
服务器的版本是否相同?如果将所有内容都放在 EJB jar 中的 JPA jar 中,会发生什么情况,那么它会工作吗?
关于java - WLS 10.3.4 - 在范围 xxx_EJB.jar 中没有名为 'xxx' 的持久性单元可用。可用持久化单元 : [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8803201/