java - WLS 10.3.4 - 在范围 xxx_EJB.jar 中没有名为 'xxx' 的持久性单元可用。可用持久化单元 : []

标签 java jpa ejb persistence-unit

我有一个包含 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/

相关文章:

java - 如何根据屏幕分辨率调整布局和 ScrollView 的大小

java - Fragment运行时异常调试

java - 调试 Java 时,如果在 IntelliJ IDEA 中变量的名称为 "this$0",这意味着什么?

java - 当 MDB 尝试连接到远程队列时,WebSphere 8 中出现异常

oracle - 单元测试高度相互依赖的代码

java - 获取 XML 文件的编码类型?

java - 避免使用多对多关系 jpa 添加相同的数据

java - Spring Data REST加入继承问题

java - Hibernate - 每个操作的 ThreadLocal<EntityManager> 与 EntityManager

java - 哪里允许注入(inject)EJB?