java.lang.NoClassDefFoundError: javax / Gesichter / FacesException

8

Ich versuche eine Webanwendung bereitzustellen, die ich aus dem Eclipse-Arbeitsbereich in NetBeans importiert habe. Aber es wird nicht bereitgestellt, stattdessen gibt es mir die folgende Ausnahme.

%Vor%

Vermisse ich einige JARs?

    
siddharth 15.07.2011, 00:43
quelle

3 Antworten

8

NoClassDefFoundError bedeutet, dass die Klasse während der Kompilierungszeit im Klassenpfad vorhanden war. Tomahawk hat irgendwo eine import javax.faces.FacesException; -Zeile in der Codebasis. Das ist eine der Klassen der Kern-JSF-API.

Dies bedeutet, dass die JSF-Bibliotheken im Klassenpfad der Webanwendung fehlen. Das Projekt wurde in Netbeans offenbar mit einem Server verbunden, der bereits mit JSF gebündelt ist wie Glassfish, JBoss AS, etc. Das Projekt in Eclipse ist scheinbar nicht richtig mit dem Server verbunden, oder der betreffende Server nicht JSF gebündelt wie Tomcat, Jetty, etc.

Der Stacktrace weist darauf hin, dass Sie Tomcat verwenden. Sie müssen JSF separat herunterladen und die JAR-Dateien in webapps /WEB-INF/lib löschen (dort, wo auch Ihre Tomahawk-Bibliotheken sind).

    
BalusC 15.07.2011 20:43
quelle
3

Ja, CNF-Ausnahme bedeutet immer fehlende JARs. Der Klassenlader kann dies nicht finden:

%Vor%

Sie finden es, indem Sie & amp; Einfügen des Klassennamens in findjar.com , so:

Ссылка

    
duffymo 15.07.2011 00:55
quelle
0

Um eine andere Erfahrung hinzuzufügen: Als ich dieses Problem entdeckte, lag es daran, dass ich ICEFaces verwendete und die ICEFaces-Dateien in Tomcat im Verzeichnis $CATALINA_BASE/lib enthielt, aber javax.faces.jar in das Verzeichnis /WEB-INF/lib meiner Webanwendung einschloss. Die Lösung für mich war, javax.faces.jar von /WEB-INF/lib auf $CATALINA_BASE/lib zu verschieben. Stellen Sie außerdem sicher, dass Sie die richtige Version von javax.faces.jar verwenden, wenn Sie etwas wie ICEFaces verwenden.

    
Christian Wilkie 14.04.2014 20:05
quelle

Tags und Links