1、Error filterStart异常的详细堆栈信息
2010-9-26 20:28:25 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)
at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:60)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:325)
……
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2010-9-26 20:28:25 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-9-26 20:28:25 org.apache.catalina.core.StandardContext start
严重: Context [/jqgridTest] startup failed due to previous errors
2010-9-26 20:28:25 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: A web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@1f7e273]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1342572]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
2010-9-26 20:28:25 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: A web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@869e8f]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@13ccea]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
2010-9-26 20:28:25 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: A web application created a ThreadLocal with key of type [null] (value [com.sun.faces.config.ConfigureListener$1@1f23ca4]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
polaris注:中间有省略,异常可能不完全一样,但大概就是这个样子。
2、解决方法总结
2.1 解决方法一
初学Struts2的时候,很容易遇到该问题。这个时候,首先查看导入的JAR包是否正确,一般是少导入了什么JAR包。记得当初在学Struts2的时候,polaris就遇到导入JAR包的问题,可参看polaris早时刚学Struts2时在百度空间上写的文章《解决struts2 中Error filterStart 问题》。
2.2 解决方法二
进入公司后,遇到了类似的问题。其实这个问题可能跟Struts2没关系,不过还是在此提一下。大概的问题是:程序编译出问题,或者通过 Eclipse将程序部署到Tomcat后,启动Tomcat报错。当时遇到此问题感觉很是奇怪,因为在同事电脑上一切都正常。后来才发现,原来这是通过 SVN导致的:由于每个人的classpath路径不一样(Eclipse中有一个文件.classpath),第一次通过将工程上传到SVN后,会上传 该文件(不上传也会有此问题),这样其他人从SVN上下载该工程时,classpath和自己机子上的不一样,导致找不到jar包,自然就会编译出问题, 或者部署出问题。解决方法是将所有的JAR包重新导入一次。如图:
将这些jar包全部删除,然后点击add jars,在当前工程的lib目录下将所有的jar导入进来。记得有时候还可能需要重新设置JDK,因为JDK各个人的名称可能不一样,如jdk1.6, jdk1.6.0.3之类的,这样也会导致编译出错。
2.3 解决方法三
遇到此问题另外一个要想到的问题是配置文件是否有问题。首先当然是web.xml文件,要确保Struts2过滤器配置无误;然后是struts.xml配置文件。
今天polaris遇到的问题就是struts.xml引起的问题。该网友他部署的时候是没有问题的,他在该配置文件中启用了devMode模式。 然后,我将其禁用掉,发现问题解决。然而,虽然解决了问题,却有疑问:为啥网友的机子上不会有问题?这个时候想到了“空格”问题:polaris的 Tomcat安装在Program Files目录中。通过与网友一确认,他的Tomcat安装目录没有空格。
以下来源于网络:devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload。 这个错误是由于configuration.xml.reload设置为true倒导致的,网上的资料没有说明原因及解决办法,有人说这是2.16版本的 BUG,tomcat的安装路径包含空格,你可以使用更高级的版本或将Tomcat安装到没有空格的路径中来避免这个错误。
3、说明
以上是对Struts2 Error filterStart异常的一个总结。如果您遇到该问题,而以上方法没法解决,可以留言或联系polaris,或者您对该问题有其他的解决方法也可留言告之,谢谢。
分享到:
相关推荐
严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
第一次做struts2的程序,却遇到了Exception starting filter struts2的问题,追其原因,其中一个很大的原因是其官方网站上下的那几个包不行。于是费劲千辛万苦找到了这几个好使的包!
严重: Exception starting filter struts2 Class: oracle.xml.jaxp.JXTransformerHandler File: JXTransformerHandler.java Method: endDocument Line: 145 - oracle/xml/jaxp/JXTransformerHandler.java:145:-1
struts2 chm 程序包 org.apache.struts2 接口概要 接口 说明 StrutsStatics Constants used by Struts. 类概要 类 说明 RequestUtils Request handling utility class. ServletActionContext Web-specific ...
struts_exception用例 struts_exception用例
struts处理exception的代码使用实例
<filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/* ...
有关struts2下载组件的具体介绍我就在此略过了,看此文的同志想必大多是碰到这样让人很是不爽的问题。 下面就将该问题的最终解决办法介绍如下。 问题概要: 在struts2中使用result里type="stream"的结果类型时,...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
48. struts2-spring-plugin-2.0.11.2.jar 49. //struts2必须 50. xwork-2.0.5.jar 数据库设计(使用MySql数据库): Java代码 1. create table user 2. ( 3. id varchar(32) not null, 4. userName ...
import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class UploadAction extends ActionSupport { // 上传文件存放路径 private final static String ...
NULL 博文链接:https://wlh269.iteye.com/blog/321746
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/747132
java-struts2.2的驱动包 2009-8-29 14:02:04 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in production ...
struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet....
一、理解Struts2拦截器 1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 2. 拦截器栈(Interceptor Stack)。Struts2...
从网上搜索的一段关于struts1.x自定义异常处理的方法。
异常处理 exception exception exception exception 异常处理 exception