从 Weblogic 11 迁移到 Weblogic 12,出现 ClassNotFoundException

问题描述 投票:0回答:2

我们正在将包含多个ear文件的应用程序从Weblogic 11迁移到Weblogic 12。其中三个ear文件运行良好,当我们部署第4个时,它在启动时抛出ClassNotFoundException。

在这方面,三个跑步耳朵中的两个并不重要。所以,情况是A.ear运行正常,B.ear无法启动。

B.ears pom.xml 引用 A.ear 的模块作为提供的和 ejb-client 的依赖项,并使用 maven-ear-plugin 将该模块引用为 ejbClientModule。

由于 maven-ear-plugin,在 B.ear 中创建了一个 jar,镜像 A.ear 中的模块,在其名称中添加“-client”,但它只包含 A.ear 中模块中的类的子集.

其中一个类派生自 ClassNotFoundException 引用的类。

应用程序在 Weblogic 11 上以这种方式运行。

有人可以告诉我如何解决这个问题并使应用程序在 Weblogic 12 上运行吗?

java migration ejb weblogic weblogic12c
2个回答
0
投票

正如我们所想,weblogic 中不允许ear 文件之间如此深层的连接,即使在weblogic 11 中,根据oracles 文档,类加载器层次结构无法在另一个ears jar 中找到祖先类。它在 weblogic 11 中工作,似乎是一个错误,已在 weblogic 12 中修复。

我们的解决方案是将两个耳锉合二为一。


0
投票

您可以提供要修复的详细信息吗

© www.soinside.com 2019 - 2024. All rights reserved.