gpt4 book ai didi

java - Weblogic EJB部署: classes in jar inside ear are not accessible

转载 作者:行者123 更新时间:2023-11-30 05:10:15 26 4
gpt4 key购买 nike

我正在尝试将包含 ejb 应用程序的 Ear 部署到 weblogic 9.2 服务器中。

这个耳朵是使用maven创建的(本身使用ear ant任务)。 Maven 生成以下结构:

myApp.ear
- META-INF
- application
- MANIFEST.MF
- dependency-1.jar
- dependency-2.jar
- ...
- dependency-n.jar
- myEjb.jar

list 包含一个看起来不错的类路径部分(列出了所有依赖项 jar)

当我尝试部署耳朵时,出现 NoClassDefFoundError 异常。

如果我将所有 jar 放在我的域的 lib 目录中,则ear已成功部署。

如果我将所有 jar 放在名为 APP-INF/lib (weblogic 标准)的目录中,ear 也会成功部署。

myApp.ear
- META-INF
- application
- MANIFEST.MF
- APP-INF
- lib
- dependency-1.jar
- dependency-2.jar
- ...
- dependency-n.jar
- myEjb.jar
<小时/>

在同一个项目中,我有其他不使用 APP-INF/lib 目录的耳朵,但它们工作得很好。

有人知道为什么 weblogic 无法部署我的 Ear 吗?

<小时/>

经过一番调查,我找到了问题根源:它是 myEjb.jar 模块的 list 类路径。请参阅已接受的回复中的评论。

非常感谢。

最佳答案

EAR 中依赖项 jar 的标准方法是将它们放入文档中给出的 APP-INF/lib 中

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/programming/environment.html#1099434

我怀疑您的第一个 EAR 中的问题出在 Manifest.mf 中的实际类路径条目中

请参阅 http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1065667 上的 list 类路径部分

The manifest Class-Path entries refer to other archives relative to the current archive in which these entries are defined

是否有子目录或相对路径不正确?

关于java - Weblogic EJB部署: classes in jar inside ear are not accessible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3659726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com