So beheben Sie den Fehler listenerStart beim Bereitstellen der Web-App in Tomcat 5.5?
Habe ich bereitgestellt ein Apache Wicket web-Anwendung mit Spring und Hibernate auf meinem Tomcat 5.5-Instanz. Wenn ich navigieren Sie zu der Tomcat-Manager-interface sehe ich, dass die web-Anwendung, mit der ich eingesetzt werden soll, wird nicht ausgeführt. Wenn ich 'Start' klicken, bekomme ich die folgende Fehlermeldung; "FAIL - Anwendung im Kontext Pfad /spaghetti konnte nicht gestartet werden".
Meine catalina.log enthält Folgendes:
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/spaghetti] startup failed due to previous errors
Auszug aus web.xml:
<Zuhörer> <listener-Klasse> org.springframework.web.Kontext.ContextLoaderListener </listener-class> </listener - >
Jede Hilfe wird sehr geschätzt.
InformationsquelleAutor der Frage John | 2010-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie nicht alle server-spezifische Bibliotheken in den
/WEB-INF/lib
. Lassen Sie Sie in den Anwendungsserver-eigenen Bibliothek. Es würde nur dazu führen, dass Kollisionen in den classpath. Loszuwerden, alle Anwendungsserver-spezifische Bibliotheken in/WEB-INF/lib
(und auch inJRE/lib
undJRE/lib/ext
wenn einer von Ihnen dort).Einer gemeinsamen Ursache, dass der appserver-spezifischen Bibliotheken sind enthalten in den webapp-Bibliothek ist, die Vorspeisen denke, dass es der richtige Weg, das zu beheben Kompilierungsfehler unter anderem die
javax.servlet
Klassen, die nicht aufzulösen ist. Setzen Sie in der webapp Bibliothek ist die falsche Lösung. Sollten Sie auf Sie in der classpath während der Kompilierung, d.h.javac -cp /path/to/server/lib/servlet.jar
und so weiter, oder wenn Sie ein IDE sind, sollten Sie die Integration der server in die IDE, und ordnen Sie die web-Projekt mit dem server. Die IDE wird dann automatisch server-spezifische Bibliotheken in den Klassenpfad (buildpath) der webapp-Projekt.InformationsquelleAutor der Antwort BalusC
Fand ich, dass die Befolgung dieser Anweisungen halfen mit, herauszufinden, was das problem war. Für mich war das der killer, nicht zu wissen, was kaputt war.
http://mythinkpond.wordpress.com/2011/07/01/tomcat-6-infamous-severe-error-listenerstart-message-how-to-debug-this-error/
Zitat aus dem link
InformationsquelleAutor der Antwort Tom Saleeba
Dass ich auf diese Fehler, wenn die JDK, die ich kompiliert die app unter war anders als die tomcat-JVM. Ich habe überprüft, dass der Tomcat-manager ausgeführt wurde, jvm 1.6.0 aber die app kompiliert wurde unter java 1.7.0.
Nach dem Upgrade von Java und ändern JAVA_HOME in unserer startup-Skript (/etc/init.d/tomcat) der Fehler ging Weg.
InformationsquelleAutor der Antwort Colin D
Beantwortet, zur Verfügung gestellt von Tom Saleeba ist sehr hilfreich.
Heute habe ich auch gekämpft, mit dem gleichen Fehler
Ich folgte dem Vorschlag und fügte die Protokollierung.Eigenschaften-Datei. Und unten war mein Grund des Scheiterns:
Die Ursache des Problems war ein listener (Log4jConfigListener), dass ich in der web.xml. Und als pro den link SEVERE: Exception org.springframework.web.util.Log4jConfigListener , dieser listener kann nicht Hinzugefügt werden, in einem KRIEG, der nicht erweitert werden.
Kann es hilfreich sein für jemanden, der weiß, dass das geschieht auf JBoss OpenShift Getriebe.
InformationsquelleAutor der Antwort Agry