Ich habe diese in den Erstellungspfad aufgenommen :
- alle Frühlingsbibliotheken
- Apache Tomcat 7.0 Bibliothek
Das Projekt schlägt beim Start immer noch fehl:
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
In org.sprintframework.web-3.1.0.M1.jar
kann ich das sehen org.springframework.web.context.ContextLoaderListener
.
Jemand bei Google sagt, dass spring.jar
dies enthalten sein sollte, aber ich sehe keine spring.jar
in der 3.x-Distribution.
Eclipse 3.6.2
Tomcat 7
Bearbeiten: Jemand im Frühlingsforum (offline) sagte, dass "Abhängigkeiten automatisch aktualisieren" in den Projekteigenschaften aktiviert werden sollte, aber ich sehe so etwas in den Projekteigenschaften nicht.
spring
tomcat7
classnotfoundexception
smaragdhieu
quelle
quelle
Antworten:
Ich hatte ein ähnliches Problem beim Ausführen einer Spring-Webanwendung in einem von Eclipse verwalteten Tomcat. Ich habe dieses Problem gelöst, indem ich der Webbereitstellungsassembly des Projekts Maven-Abhängigkeiten hinzugefügt habe.
Der Definition der Web Deployment Assembly sollte "Maven Dependencies" hinzugefügt werden.
quelle
Das Gleiche passiert mir von Zeit zu Zeit, wenn ich Eclipse WDT verwende. Es ist besonders frustrierend, wenn dies bei einem unveränderten und zuvor funktionierenden Projekt passiert. Dies ist, was ich tue, um es in diesem letzten Szenario zu beheben:
Dies behebt normalerweise das von Ihnen erwähnte Problem.
quelle
Sie können "Clean Tomcat Work Directory" oder einfach "Clean .." ausprobieren. Dies soll alle veröffentlichten Zustände verwerfen und von Grund auf neu veröffentlichen.
quelle
Ich habe IntelliJ IDEA verwendet, die Kompilierung ist erfolgreich, aber beim Starten von Tomcat heißt es:
Am Anfang dachte ich, dass das JAR fehlt, aber es war vorhanden.
Lösung:
File > Project Structure > Artifacts
imOutput Layout
Doppelklick im rechten FensterbereichAvailable Elements
der Bibliothek mit dem Namen wieMaven:...
, wird es verschoben wirdWEB-INF/lib
im linken Fensterbereich.Akzeptieren Sie Tomcat und starten Sie es neu.
quelle
Dies ist sicherlich ein Problem im Zusammenhang mit Eclipse. Was für mich funktioniert hat, ist das Erstellen eines neuen Servers auf der Registerkarte "Eclipse-Server". Führen Sie dann Ihre Anwendung auf diesem neuen Server aus, es sollte funktionieren.
quelle
Sie müssen mindestens eine Version
3.2.8.RELEASE
des Federkerns verwenden.Stellen Sie für Maven Folgendes ein
pom.xml
:Quelle: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html , seit 3.2.8.
quelle
Wenn alles oben Genannte nicht funktioniert, versuchen Sie Folgendes. Es hat bei mir funktioniert.
Entfernen Sie Ihr Projekt vom Server> Server neu starten> Projekt zum Server hinzufügen> Server neu starten.
Detaillierte Anleitung:
quelle
Ich hatte das gleiche Problem mit einem Eclipse-Projekt, das für die Tomcat 7-Laufzeit konfiguriert wurde
Klicken Sie mit der rechten Maustaste auf Projekt und gehen Sie zu den Projekteigenschaften. Klicken Sie auf Deployment Assembly. Ich konnte feststellen, dass meine Spring Library Jars, die ich während der Kompilierungszeit mit einer Benutzerbibliothek erstellt hatte, fehlten. Fügen Sie einfach die Gläser hinzu und Sie sollten beim Start von Tomcat keine Fehler in der Konsole sehen
quelle
Wenn Sie maven verwenden, ist das Projekt möglicherweise noch nicht erstellt. Führen Sie zuerst eine
mvn clean package
erneute Bereitstellung durch.quelle
Lösung für Eclipse Luna:
quelle
Wenn Sie IntelliJ IDEA verwenden und eine Anwendung auf Tomcat Server bereitstellen, heißt es: Im Menü Datei -> Projektstruktur auswählen -> auf Artefakt klicken -> Ihre Gläser auswählen und mit der rechten Maustaste klicken -> WEB \ lib eingeben -> Server neu starten
quelle
Eigentlich ist das ein Problem von Tomcat. Gehen Sie einfach in den Ordner 'lib' Ihres Projekts und kopieren Sie alle 'Spring'-bezogenen Gläser in diesen. Aktualisieren Sie Ihr Projekt und Sie können loslegen. Dieses Problem besteht manchmal weiterhin, da Tomcat Spring-Kernklassen nicht finden kann.
quelle
Ich hatte auch den gleichen Fehler. Ich hatte die folgende Abhängigkeit nicht in meine POM-Datei eingefügt.
Aber mein Projekt lief noch, bevor ich diese Abhängigkeit hinzugefügt hatte. Aber irgendwann hörte es auf und gab den gleichen obigen Fehler aus.
Wenn jemand diesen Fehler nicht lösen konnte, kann er ihn auch über diesen Link beheben
quelle
Ich hatte das gleiche Problem. Ich habe es behoben, indem ich meinem Pom eine Spring-Web-Abhängigkeit hinzugefügt habe. Stellen Sie sicher, dass Sie das Spring-Web-Jar verwenden, dessen ContextLoaderListener- Klasse erweitert. ContextLoader implementiert ServletContextListener und befindet sich im Paket org.springframework.web.context. Ich habe 3.0.4.RELEASE verwendet
quelle
Ich habe es versucht
Das einzige, was zumindest vorübergehend funktionierte, war das Hinzufügen von Maven-Abhängigkeiten zur Definition der Web Deployment Assembly
Das funktioniert aber nicht für immer! Nach ein paar Tagen funktioniert es nicht mehr. Meine Lösung bestand darin, Maven-Abhängigkeiten zu entfernen, Änderungen anzuwenden und Maven-Abhängigkeiten erneut hinzuzufügen.
Ich benutze - Eclipse Juno - Embedded Maven - Tomcat 7
quelle
Für Gradle-Benutzer funktioniert es mit den folgenden Schritten
1) Stoppen und löschen Sie den Tomcat-Server in Eclipse von der Registerkarte Server
2) Bereinigen Sie die Webanwendung und das Arbeitsverzeichnis von der Tomcat-Installation . (Referenz, Anleitung : Löschen Sie den Tomcat-Cache und beheben Sie veraltete JSP-Probleme. )
3) Reinigen und verdunkeln Sie das Projekt mit dem Build-Tool
$ ./gradlew clean eclipse
// entsprechenden Befehl fürmvn
Benutzer auslösen,$ mvn clean package
4) Konfigurieren Sie einen neuen Tomcat-Server in Eclipse und führen Sie das Projekt erneut aus.
quelle
Auch ich hatte das gleiche Problem ... und wurde durch die folgenden Schritte gelöst:
RC (Rechtsklick auf Webprojekt) -> Eigenschaften -> Bereitstellungsassembly -> Hinzufügen -> Java-Erstellungspfadeinträge -> Weiter -> Fehlende JAR-Dateien auswählen -> Weiter -> Fertig stellen
Anwendung läuft erfolgreich ...
quelle
Ich habe das gleiche Problem und habe es mit den oben genannten Schritten behoben. Aber nein, wenn ich dieses Problem erneut habe und Folgendes versuche:
RC (Rechtsklick auf Webprojekt) -> Eigenschaften -> Bereitstellungsassembly -> Hinzufügen -> Java-Erstellungspfadeinträge -> Weiter ->
Nachdem Sie auf Weiter geklickt haben, wird nur ein leeres Fenster mit deaktivierten Optionen Weiter und Fertig angezeigt. Was kann ich jetzt tun?
quelle
Ich hatte das gleiche Problem.
Entfernen Sie einfach den Server aus der Konfiguration und fügen Sie ihn nach dem Neustart von Eclipse wieder hinzu, indem Sie ihn zur Server-Laufzeitumgebung hinzufügen.
quelle
Für mich bestand die Lösung darin, mit der rechten Maustaste auf mein Webanwendungsmodul> Maven> Projekt aktualisieren zu klicken
quelle
Eine schnelle Lösung, die ich für diese Situation am besten geeignet finde, besteht darin, einfach den Metadatenordner Ihres Arbeitsbereichs zu löschen und Ihre Projekte erneut zu importieren. Wenn Sie alle anderen Optionen ausprobieren, wird der Erfolg nicht garantiert. Manchmal funktionieren die oben genannten Lösungen, manchmal verbringen Sie Ihre kostbaren Stunden damit, diese Konfiguration zu reparieren.
Eines Tages beschloss ich, meinen Arbeitsplatz zu reinigen. Ich ordnete die Projekte nach verschiedenen Kunden in die entsprechenden Ordner. Infolgedessen wurde alles durcheinander gebracht. Nachdem es einen ganzen Tag verbracht hatte, landete es nicht in einem festen Arbeitsbereich. Am nächsten Tag habe ich einfach den .metadata-Ordner des Arbeitsbereichs gelöscht und alle Projekte erneut importiert. Bingo fertig.
quelle
Setzen Sie
<packaging>war</packaging>
in Ihrem pom.xml , wenn Sie Maven verwenden. In diesem Fall ist es vielleicht mit GlasverpackungSie müssen Maven-Bibliotheken in Deployment Assembly haben
quelle
Durch die Verwendung der "Projektkonfiguration aktualisieren" wurde der Erstellungspfad des Projekts durcheinander gebracht.
Fix: Öffnen Sie das Menü "Build-Pfad konfigurieren ..." (Rechtsklick auf das Projekt) und korrigieren Sie die Optionen "Eingeschlossen" / "Ausgeschlossen" für jeden Quellordner. Das hat bei mir funktioniert.
quelle
In vielen Fällen handelt es sich um ein Java-Facettenproblem. Die JDK- oder JRE- oder JSP-Version unterscheidet sich von der Maven-Projektfläche.
quelle
Die eigentliche Lösung für mich war die Installation der "m2e-wtp - Maven Integration für WTP". Die Lösung von Marcelo ist in diesem Fall nicht erforderlich.
quelle
Wenn nichts von oben funktioniert, entfernen Sie die .class aus der Listener-Klasse, dh
quelle
Das funktioniert bei mir ..
Klicken Sie mit der rechten Maustaste auf das Maven-Webprojekt. Klicken Sie auf das Menü "Eigenschaften". Wählen Sie "Bereitstellungsassembly" auf der linken Seite des Popup-Fensters. Klicken Sie auf die Schaltfläche "Hinzufügen ..." auf der rechten Seite des Popup-Fensters. Nun wird ein weiteres Popup-Fenster angezeigt (Neue Assembly-Direktiven). Klicken Sie auf "Java Build Path-Einträge". Klicken Sie auf die Schaltfläche "Weiter". Klicken Sie auf die Schaltfläche "Fertig stellen". Schließen Sie nun automatisch das Popup-Fenster "Neue Assemby-Direktiven". Klicken Sie nun auf die Schaltfläche "Übernehmen" und die Schaltfläche "OK". Führen Sie Ihre Webanwendung aus
quelle
Dies geschah mir, nachdem ich in einem IntelliJ-Projekt mit Gradle Änderungen an meinem Ruhezustand vorgenommen hatte. Das Projekt einfach wieder aufzubauen hat bei mir funktioniert.
quelle
Ich bin ein paar Mal im Quartal darauf gestoßen. Dieses Mal hatte ich eine minimale Änderungszusammenfassung in meinem Git-Diff und verfolgte das Problem in einem zurückgesetzten Klassenpfad (ohne meine WEB-INF / lib-Abhängigkeit) in Eclipse. Dies scheint jedes Mal zu geschehen, wenn ich Eltern- / Geschwister-Maven-Projekte ein- oder ausziehe.
Es wird erwähnt, dass Sie Ihre Spring Jars zur Tomcat-Webcontainer-Bibliothek hinzufügen - dies ist in Ordnung und die Art und Weise, wie die meisten EE-Server ausgeführt werden. Beachten Sie jedoch, dass Sie durch Platzieren der Feder im Klassenladebaum auf Tomcat höher als die Klassenladeebene Ihres Kriegskontexts laufen. Ich empfehle Ihnen, die Bibliotheken in einem Klassenladeprogramm der unteren Ebene pro Krieg zu belassen.
Wir sehen Folgendes nach einem abgeschnittenen Klassenpfad nach einer strukturellen Projektänderung in Eclipse.
Mein Klassenpfad wurde zurückgesetzt und die WEB-INF / lib-Abhängigkeit wurde entfernt.
zurück geben
und du wirst in Ordnung sein.
danke / michael
quelle
Ich habe dies erhalten, als ich die Bibliothek in meinem Erstellungspfad hatte, aber nicht in meiner Bereitstellungsassembly. Auch wenn ich eine fehlende context.xml hatte.
quelle