我有 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 中是类,bean,它使用 @PersistentContext 来引用它们。
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 安装为生产模式。
你有什么提示吗?
提前致谢!!
最佳答案
服务器的版本一样吗?如果将 JPA jar 中的所有内容都放在 EJB jar 中会发生什么,那么它是否有效?
关于java - WLS 10.3.4 - 范围 xxx_EJB.jar 中没有名为 'xxx' 的持久性单元可用。可用的持久性单元 : [],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8803201/