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).
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:
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.