严重: Exception starting filter struts2问题解决方法
2011-2-17 17:46:14 org.apache.catalina.core.StandardContext filterStart
tomcat启动时出现以下错误提示:
2011-2-17 17:46:14 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.struts2.config.StrutsXmlConfigurationPr ovider.needsReload(StrutsXmlConfigurationPr ovider.java:168)
at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:220)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:61)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)
at org.apache.struts2.dispatcher.ng.InitOperations.initStaticContentLoader(InitOperations.java:77)
解决方法一:
以下jar一个不能少
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
解决方法二:遇到此问题要想到的问题是配置文件是否有问题。首先当然是web.xml文件,要确保Struts2过滤器配置无误;然后是struts.xml配置文件。
struts.xml引起的问题。配置文件中启用了devMode模式,将其禁用掉。然而,虽然解决了问题,却有疑问:为啥网友的机子上不会有问题?这个时候想到了“空格”问题:我的 Tomcat安装在Program Files目录中。通过与网友一确认,他的Tomcat安装目录没有空格。
以下来源于网络:devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload。这个错误是由于configuration.xml.reload设置为true倒导致的,网上的资料没有说明原因及解决办法,有人说这是2.16版本的 BUG,tomcat的安装路径包含空格,你可以使用更高级的版本或将Tomcat安装到没有空格的路径中来避免这个错误。
说明:tomcat6.0这个根目录的名字不可以有空格,就该方法就是重命名目录名,然后该Myeclipse的server配置。我的就是因为有空格出现以上问题,吸取教训。
也可参考此:http://topic.csdn.net/u/20110217/18/fb719fa1-a913-44e9-b082-037f91d0f1d8.html