【发布时间】:2011-12-21 16:13:17
【问题描述】:
我有一个 WAR 文件,已通过 Web 管理器部署到 Tomcat 7.0.23。但是,当我尝试启动它时,出现以下错误。不确定是什么原因造成的。我正在使用 JDK 1.6.0_27。我还在尝试在 Tomcat 上运行的应用程序使用最新版本的 Spring MVC,并且我使用的是 Windows 7 64 位。
Dec 21, 2011 10:41:43 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Dec 21, 2011 10:41:43 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/upload] startup failed due to previous errors
编辑:好的,所以我设置了 logj4 并将其设置为 DEBUG,它告诉我在 characterEncodingFilter 上引发了异常。下面是我的 web.xml 中用于 characterEncodingFilter 的代码。
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
编辑:这是我看到记录的新错误的顶部:
2011-12-21 12:43:56,279 [http-apr-8080-exec-5] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/upload]- Exception starting filter characterEncodingFilter
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.web.filter.GenericFilterBean.<init>(GenericFilterBean.java:82)
【问题讨论】:
-
日志中有什么内容吗?在此期间,您是否已将日志记录到 DEBUG?显然,从您提供的信息来看,这将无法提供帮助。我的第一个怀疑是配置文件错误或缺少依赖项。
-
您可以检查映射到
/upload的代码启动时会发生什么。顺便说一句,当您手动部署它时它是否有效.. 只是为了将 Tomcat 管理器排除在外。 -
好吧,
Filter启动失败。当 Tomcat 尝试加载/构造/初始化它时,它引发了异常。根据目前提供的信息,这就是所有可以说的。真正的答案是在抛出异常的堆栈跟踪中。检查 Tomcat 日志文件。 -
这就是 Catalina.log 中的全部内容:http://pastebin.com/PEWKdWz9
-
我设置了 log4j 并将其设置为 DEBUG,这就是我得到的:http://pastebin.com/J9EkYEsq
标签: spring-mvc war tomcat7 tomcat