Я использую Eclipse (Java EE / Helios) IDE, struts2 и Tomcat 7.0.6. Вчера мое веб-приложение работало нормально, но некоторые неизвестные изменения убили его, и сервер запускается, но больше не работает правильно. При попытке просмотра файла .jsp меня приветствует сообщение:
описание Запрашиваемый ресурс ()
недоступен.
(если он вообще решит исправить эту ошибку)
Просмотр консоли дает мне эту ошибку, когда я пытаюсь запустить сервер Tomcat через Eclipse и загрузить страницу Add.jsp:
...
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)
...
Теперь это похоже на проблему со всеми приложениями struts2, которые я сделал ранее. Перезапуск Eclipse и / или моего компьютера, похоже, не помогает.
Вот копия моего Web.xml (который очень похож на каждом проекте):
<?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>
Я пытался обновить некоторые .jars в моем classpath до последней версии (хотя я не ожидал, что это сработает). Кто-нибудь знает, что может быть не так? Я с радостью предоставлю больше информации, если вы знаете, что еще нужно.