4.2.3. 查找 JBoss 模块依赖关系


要解决依赖关系,首先,通过查找 EAP_HOME/modules/system/layers/base/ 目录找到包含 ClassNotFoundException 指定的类的模块。如果你找到这个类的模块,你必须在 manifest 条目里添加一个依赖关系。
例如,如果你在日志里看到 ClassNotFoundException 跟踪信息:
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log 
    from [Module "deployment.TopicIndex.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:188)
Copy to Clipboard Toggle word wrap
通过下列步骤来查找包含这个类的 JBoss 模块:

过程 4.9. 

  1. 首先确定这个类是否有明显的模块。
    1. 进入 EAP_HOME/modules/system/layers/base/ 目录并查找对应 ClassNotFoundException 里命名的类的模块路径。
      找到模块路径 org/apache/commons/logging/
    2. 打开 EAP_HOME/modules/system/layers/base/org/apache/commons/logging/main/module.xml 文件并找到模块名称。在这个例子里是 "org.apache.commons.logging"。
    3. 添加模块名到 MANIFEST.MF 文件里的依赖关系:
      Manifest-Version: 1.0
      Dependencies: org.apache.commons.logging
      
      Copy to Clipboard Toggle word wrap
  2. 如果这个类没有明显的模块路径,你可能需要在另一个位置寻找依赖关系。
    1. 在 Tattletale 报告里找到名为 ClassNotFoundException 的类。
    2. EAP_HOME/modules 目录里找到包含 JAR 的模块以及和前一步骤里相同的模块名。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat