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.9. 

  1. Déterminer tout d'abord s'il y a un module évident pour la classe.
    1. Naviguer dans le répertoire EAP_HOME/modules/system/layers/base/ et chercher la classe qui correspond au chemin du module dans ClassNotFoundException.
      Vous trouverez le chemin d'accès org/apache/commons/logging/.
    2. 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".
    3. Ajouter le nom du module aux Dépendances dans le fichier MANIFEST.MF :
      Manifest-Version: 1.0
      Dependencies: org.apache.commons.logging
      
  2. S'il n'y a pas de chemin de classe évident pour la classe, vous devrez trouver la dépendance dans un autre emplacement.
    1. Trouver la classe nommée par l'exception ClassNotFoundException dans le rapport Tattletale.
    2. 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.