4.2.3. Chercher la dépendance de module de JBoss
Pour résoudre la dépendance, essayez tout d'abord de trouver le module qui contient la classe spécifiée par
ClassNotFoundException
en cherchant dans le répertoire EAP_HOME/modules/system/layers/base/
. Si vous trouvez un module pour la classe, vous devrez ajouter une dépendance à l'entrée du manifeste.
Par exemple, si vous apercevez la trace ClassNotFoundException dans le 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)Chercher le module JBoss qui contient cette classe ainsi :
Procédure 4.5. Chercher la dépendance
- Déterminer tout d'abord s'il y a un module évident pour la classe.
- Naviguer dans le répertoire
EAP_HOME/modules/system/layers/base/
et chercher la classe qui correspond au chemin du module dansClassNotFoundException
.Vous trouverez le chemin d'accèsorg/apache/commons/logging/
. - Ouvrir le fichier
EAP_HOME/modules/system/layers/base/org/apache/commons/logging/main/module.xml
et chercher le nom du module. Dans ce cas, ce sera "org.apache.commons.logging". - Ajouter le nom du module aux Dépendances dans le fichier
MANIFEST.MF
:Manifest-Version: 1.0 Dependencies: org.apache.commons.logging
- S'il n'y a pas de chemin de classe évident pour la classe, vous devrez trouver la dépendance dans un autre emplacement.
- Trouver la classe nommée par l'exception
ClassNotFoundException
dans le rapport Tattletale. - Trouver le module qui contient le JAR dans le répertoire
EAP_HOME/modules
et trouver le nom du module comme dans la première étape.