2017-05-29 4 views
1

Ich habe ein Modul, das als Abhängigkeiten auflistet,Wie das fehlende JBoss EAP-Modul identifizieren

--dependencies=javax.servlet.api,javax.security.jacc.api,org.jboss.logging,org.picketbox,org.picketlink.federation,org.picketlink.federation.bindings,org.jboss.as.web 

aber eap beschwert sich über eine fehlende Klasse,

Verursacht durch: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletResponse von [Modul "com.td.cbaw.oauthlogin: main" von lokalen Modul-Lader @ 16f65612 (Finder: lokale Modul Finder @ 311d617d (Wurzeln: /o pt/jboss/EAP-6.4.0/Module/opt/jboss/EAP-6.4.0/modules/System/Schichten/Base))]

Das javax.servlet.api Modul enthält Klasse in Frage

... 
81 javax/servlet/http/HttpServlet.class 
82 javax/servlet/http/LocalStrings_es.properties 
83 javax/servlet/http/HttpSessionContext.class 
84 javax/servlet/http/NoBodyOutputStream.class 
85 javax/servlet/http/HttpServletResponse.class <==== 
86 javax/servlet/http/HttpUtils.class 
87 javax/servlet/http/HttpSessionListener.class 
88 javax/servlet/http/HttpSessionActivationListener.class 
.... 

Wie funktioniert eine Ursache dieser Art von Problem?

Dies ist die Summe der Informationen, die ich zu dem Thema gefunden habe, Find_the_JBoss_Module_Dependency, im Wesentlichen nutzlos docs.

Danke.

Antwort

1

Mit Blick auf Protokolle scheint, Sie fehlen jboss-servlet-api_3.0 JBoss-Modul. Um das zu beheben, gehen Sie wie folgt vor:

Schritt 1: Verzeichnis erstellen javax/servlet/api/main, als EAP-6.4.0/modules/system/layers/base/javax/servlet/api/main

Schritt 2:module.xml erstellen im Verzeichnis erstellt mit folgenden Inhalt:

EAP-6.4 .0 /module/system/schichten/base/javax/servlet/api/main/modul.xml

<?xml version="1.0" encoding="UTF-8"?> 

<module xmlns="urn:jboss:module:1.1" name="javax.servlet.api"> 
    <resources> 
     <resource-root path="jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar"/> 
     <!-- Insert resources here --> 
    </resources> 
</module> 

Schritt 3: herunterladen jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2 von https://mvnrepository.com/artifact/org.jboss.spec.javax.servlet/jboss-servlet-api_3.0_spec und legte es in EAP-6.4.0/modules/System/Schichten/base/javax/Servlet/api/main Verzeichnis und starten Sie den Server.

+0

Ich hätte sagen sollen, dass das Modul javax.servlet.api installiert ist. –

+1

akzeptiert diese Antwort, weil es den allgemeinen Fall löst, ein Modul zu bauen, das eine Abhängigkeit erfüllt –

0

Das Problem wurde behoben: ID10T-Fehler. Mein Präprozessor der CLI-Datei hat die eigentliche CLI-Datei, die an jboss gesendet wurde, nicht ersetzt. Ich habe vergessen, die Vorlage über den CLI zu kopieren. Die Vorlage, die ich benutze, hat $ {} Variablen, die ersetzt werden müssen, was ich gezwungen bin mit sed zu fällen, weil der jboss-cli Parser keine variable Substitution für den "module" Befehl ausführt. Also, mein Hack um einen Bug in jboss-cli war die Ursache.

Verwandte Themen