4.2.3. Auffinden der JBoss Modulabhängigkeit

Um die Abhängigkeit aufzulösen, versuchen Sie zuerst das Modul aufzufinden, das die durch die ClassNotFoundException bestimmte Klasse enthält, indem Sie im EAP_HOME/modules/system/layers/base/-Verzeichnis nachsehen. Falls Sie ein Modul für die Klasse finden, so müssen Sie eine Abhängigkeit hinzufügen, um den Eintrag zu manifestieren.
Wenn Sie etwa diese Ausnahme ClassNotFoundException im Protokoll sehen:
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)
Finden Sie das JBoss Modul, das diese Klasse enthält, indem Sie folgendes tun:

Prozedur 4.5. Auffinden der Abhängigkeit

  1. Bestimmen Sie zuerst, ob ein offensichtliches Modul für die Klasse existiert.
    1. Navigieren Sie zum EAP_HOME/modules/system/layers/base/-Verzeichnis und schauen Sie nach dem Modulpfad, der übereinstimmenden Klasse, die in ClassNotFoundException genannt ist.
      Sie finden den Modulpfad org/apache/commons/logging/.
    2. Öffnen Sie die EAP_HOME/modules/system/layers/base/org/apache/commons/logging/main/module.xml-Datei und suchen Sie den Modulnamen. In diesem Fall lautet er "org.apache.commons.logging".
    3. Fügen Sie den Modulnamen zu den Dependencies in der MANIFEST.MF-Datei hinzu:
      Manifest-Version: 1.0
      Dependencies: org.apache.commons.logging
      
  2. Falls es keinen offensichtlichen Modulpfad für die Klasse gibt, so müssen Sie die Abhängigkeit möglicherweise an einem anderen Speicherort suchen.
    1. Finden Sie die von der ClassNotFoundException im Tattletale Bericht genannte Klasse.
    2. Finden Sie das Modul, das das JAR enthält im EAP_HOME/modules-Verzeichnis und finden Sie den Modulnamen wie im vorherigen Schritt beschrieben.