Tomcat nicht geladen Struts 2 (exception starting filter struts2)
Ich bin mit dem Eclipse (Java EE /Helios) IDE, struts2, und Tomcat 7.0.6. Meine web-Anwendung war schön gestern, aber einige unbekannte änderung hat es getötet und der server startet aber nicht mehr richtig funktioniert. Beim anzeigen einer .jsp-Datei, begrüsst mich mit der Meldung:
Beschreibung Die angeforderte Ressource ()
ist nicht verfügbar.
(wenn es selbst entscheidet, oben zu setzen, dass Fehler überhaupt)
Einen Blick in die Konsole gibt mir diese Fehlermeldung, wenn ich versuche, starten Sie den Tomcat-server über Eclipse und laden Sie die 'Hinzufügen.jsp " - Seite:
...
INFO: Starting service Catalina
Feb 2, 2011 1:38:08 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.6
Feb 2, 2011 1:38:08 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: javax/servlet/Filter
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1488)
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.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4382)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5040)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5035)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Feb 2, 2011 1:38:08 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Feb 2, 2011 1:38:08 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/StrutsTest] startup failed due to previous errors
Feb 2, 2011 1:38:09 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: javax/servlet/Filter
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
...
Dies scheint nun ein problem mit der struts2-Anwendungen habe ich vorher gemacht. Ein Neustart von Eclipse und/oder mein PC scheint nicht zu helfen.
Hier ist eine Kopie von meinem Web.xml (das ist sehr ähnlich, in jedem Projekt):
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Development Environments</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Add.jsp</welcome-file>
</welcome-file-list>
</web-app>
Ich habe versucht, die Aktualisierung sicher .Gläser in mein classpath auf die neueste version (obwohl ich es nicht erwarten, zur Arbeit). Weiß jemand, was könnte schief gehen? Ich bin glücklich, geben Sie weitere Informationen, wenn Sie wissen, was sonst noch notwendig ist.
servlet-api
JAR. Das sollte verpackt werden mit Tomcat.Ich habe 'servlet-api.jar" in der C:\apache-tomcat-7.0.6\lib Verzeichnis, zusammen mit anderen .jar-Dateien (catalina.jar, jasper.jar, tomcat-api.jar, catalina-ant.jar, etc) die Shoult servlet-api.jar werden in einem anderen Verzeichnis? Oder sollte ich darunter es irgendwie?
InformationsquelleAutor Tasyne | 2011-02-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte, um einen Pfad zum servlet-api in der apache-lib-Ordner. Komisch, aber danach funktionierte es
InformationsquelleAutor rodolk
Ich habe gesehen, diese Art der Sache mehrmals mit Tomcat/Eclipse, wo grundlegende Klassen plötzlich zu verschwinden scheinen. Ich denke, dass Eclipse/Tomcat nur sich selbst verwirrt manchmal. Es scheint zu passieren öfter, wenn ich Links der server läuft mit auto-deploy aktiviert und ich mache eine Menge von kleinen änderungen.
Wenn dies geschieht, habe ich den server Herunterfahren. Ich Laufe "sauber" auf mein Projekt und dann sauber auf den tomcat-server an und reinigen Sie die server-Verzeichnis. Wenn ich den server neu starten, alles wieder beginnt.
InformationsquelleAutor user497087
Ersten, versuchen Sie, den Tomcat-server anmelden, um zu sehen, ob Tomcat erleben eine Art von fatal error beim starten.
Ausnahme zeigt an, dass die servlet API JAR nicht gefunden werden kann, aber anscheinend haben Sie das GLAS in die richtige Position.
Laufen Sie die Anwendung aus Eclipse heraus? Wenn dem so ist, vielleicht Eclipse nicht starten von Tomcat richtig. Was passiert, wenn Sie versuchen, starten Sie Tomcat manuell und stellen Sie Ihre Anwendung ohne Eclipse?
Update
Da das Verhalten konsistent war, ob Eclipse gestartet Tomcat oder Sie begann ihn manuell, wir können ausschließen, Eclipse als Teil des Problems.
Ich würde Folgendes versuchen:
Habe ich überarbeitet, meine Antwort auf Ihr feedback.
InformationsquelleAutor Steven Benitez
Stellen Sie sicher, dass alle Gläser inklusive-commons-lang3-x.x
Finden Sie fehlende jar suchen Sie die apache-logs wie:
Verursacht durch: java.lang.ClassNotFoundException: org.apache.Unterhaus.lang3.StringUtils
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
bei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
... 55 mehr
InformationsquelleAutor Haleem
Mindestens zum ausführen von helloworld Art Struts2-app erfordern würde diese Gläser.
InformationsquelleAutor praveenm