【问题标题】:WebSphere - ClassNotFoundException for Interface in common jarWebSphere - 通用 jar 中接口的 ClassNotFoundException
【发布时间】:2014-04-01 06:36:44
【问题描述】:

这里的 WAS 8 有点问题。

我有以下结构:

ear file
    META-INF/
    ejb.jar
    web.war
    (common.jar)

common.jar 包含用于 ejb、war 和其他应用程序 (RMI) 的接口。 在 ejb.jar 中有一个使用来自 common.jar 的接口的 UserServiceImpl。 部署 WebSphere 时抱怨找不到通用接口类。

我尝试将 common.jar 直接系在 ear 文件中,在 ear 中使用 lib 文件夹,在 ejb 文件中。没有任何效果(在 WebSphere 上)

奇怪的是,如果我使用 RAD 进行部署,一切正常。当我导出或构建(通过 Maven)时,我得到了这个错误。直接从 RAD 工作的部署耳朵不包含更多,RAD 可能会更改某些内容,但我不知道是什么。

谁能帮帮我?

【问题讨论】:

    标签: jakarta-ee websphere ear rad


    【解决方案1】:

    您提到的选项中:

    1. 如果 common.jar 直接放在 EAR 文件中,则其他模块必须在相应 META-INF/MANIFEST.MF 文件的 Class-Path 中引用 common.jar。我怀疑 RAD 正在为你做这件事。

    2. 如果 common.jar 使用 lib 文件夹放置在 EAR 中,则 application.xml 必须不存在(这意味着 EE 5 或更高版本),或者如果存在,它必须包含 version="5"或更高版本。

    3. 库不能按字面意思放在 EJB JAR 中。只有将 common.jar 的内容合并到 EJB JAR 中,这种方法才有效。

    【讨论】:

    • 只是合并在一起有效,但我清除了 ejb jar 并将其放入战争中。它的工作原理。
    • 如果答案解决了您的问题,您应该点击答案左侧的复选标记接受它。
    猜你喜欢
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多