4.2.3. Búsqueda de la dependencia del módulo JBoss
Para resolver la dependencia, primero, trate de encontrar el módulo que contiene la clase especificada por la
ClassNotFoundException
mirando en el directorio EAP_HOME/modules/system/layers/base/
. Si encuentra un módulo para la clase tiene que agregar una dependencia a la entrada del manifiesto.
Por ejemplo, si ve este rastro ClassNotFoundException en el registro:
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)Busque el módulo JBoss que contiene esta clase haciendo lo siguiente:
Procedimiento 4.5. Búsqueda de la dependencia
- Primero determine si hay un módulo obvio para la clase.
- Navegue al directorio
EAP_HOME/modules/system/layers/base/
y busque la clase que coincida con la ruta del módulo en laClassNotFoundException
.Encuentre la ruta del móduloorg/apache/commons/logging/
. - Abra el archivo
EAP_HOME/modules/system/layers/base/org/apache/commons/logging/main/module.xml
y busque el nombre del módulo. En este caso es "org.apache.commons.logging". - Agregue el nombre del módulo a las dependencias en el archivo
MANIFEST.MF
:Manifest-Version: 1.0 Dependencies: org.apache.commons.logging
- Si no hay una ruta de módulo obvia para la clase, es posible que tenga que buscar la dependencia en otro lugar.
- Busque la clase nombrada por la
ClassNotFoundException
en el reporte Tattletale. - Busque el módulo que contiene la JAR en el directorio
EAP_HOME/modules
y busque el nombre del módulo tal como en el paso anterior.