4.2.3. Busque a Dependência de Módulo do JBoss
Para resolver a dependência, primeiro tente o módulo que contém a classe especificada pelo
ClassNotFoundException
pesquisando no diretório EAP_HOME/modules/system/layers/base/
. Caso você encontrar um módulo para a classe, você deve adicionar a dependência à entrada do manifesto.
Por exemplo, caso você verificar este rastreamento ClassNotFoundException no log:
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)Encontre o módulo do JBoss contendo essa classe efetuando o seguinte:
Procedimento 4.9.
- Determine primeiramente se existe um módulo claro para a classe.
- Navegue ao diretório
EAP_HOME/modules/system/layers/base/
e busque pelo caminho do módulo combinando a classe nomeada noClassNotFoundException
.Você pode encontrar oorg/apache/commons/logging/
de caminho modular. - Abra o arquivo
EAP_HOME/modules/system/layers/base/org/apache/commons/logging/main/module.xml
e encontre o nome do módulo. Neste caso, isto é "org.apache.commons.logging". - Adicione o nome do módulo às Dependências no arquivo
MANIFEST.MF
:Manifest-Version: 1.0 Dependencies: org.apache.commons.logging
- Caso não haja caminho de módulo óbvio para a classe, você precisa encontrar a dependência em outra localização.
- Busque pela classe nomeada no
ClassNotFoundException
do Relatório Tattletale. - Busque o módulo contendo o JAR no diretório
EAP_HOME/modules
e encontre o nome do módulo como na etapa anterior.