4.2.3. Localização da Dependência de Módulo do JBoss
Para resolver a dependência, primeiro tente localizar o módulo que contém a classe especificada pelo
ClassNotFoundException
pesquisando no diretório EAP_HOME/modules/system/layers/base/
. Se você encontrar um módulo para a classe, você deve adicionar uma dependência à entrada do manifesto.
Por exemplo, se você encontrar 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)Localize o módulo do JBoss contendo essa classe fazendo o seguinte:
Procedimento 4.5. Localização da Dependência
- Primeiro, determine se existe um módulo óbvio para a classe.
- Navegue até o diretório
EAP_HOME/modules/system/layers/base/
e procure pela classe correspondendo com o caminho do módulo nomeada emClassNotFoundException
.Você encontrará o caminho do móduloorg/apache/commons/logging/
. - Abra o arquivo
EAP_HOME/modules/system/layers/base/org/apache/commons/logging/main/module.xml
e localize o nome do módulo que é, neste caso, "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 um caminho de módulo óbvio para a classe, é possível que tenha que encontrar a dependência em outra localização.
- Localize a classe nomeada pela
ClassNotFoundException
no relatório Tattletale. - Localize o módulo contendo o JAR no diretório
EAP_HOME/modules
e localize o nome do módulo como na etapa anterior.