同样的程序在别人那可以运行,在我的电脑上就出现下面的错。
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.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.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)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)。

运行的是tomcat 6.0, myeclipse 8.0 ,struts 2.1.6 在项目中加的是antir-2.7.2.jar,commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,
commons-logging-1.0.4.jar,freeer-2.3.15.jsr,ognl-2.7.3,struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
 
我是菜鸟,希望大侠指点!

解决方案 »

  1.   

    struts 2.1.6  有个bug,如果你的配置设置为   <constant name="struts.devMode" value="true" /> 
    或者tomcat路径有空格(好像是这个)就会出这个问题 ,你把它改成<constant name="struts.devMode" value="false" /> 
      

  2.   

    运行的是tomcat 6.0, myeclipse 8.0 ,struts 2.1.6以上说是struts2.1.6而jar中
    有struts2-core-2.1.8.1.jar是不是冲突啊!
      

  3.   

    这个问题,遇到过, 开发模式的常量是一方面,
    其实核心就是,struts2中可以在struts.xml文件修改之后自动重新加载(开发模式包括了这一项), 但是如果这个时候你的tomcat路径有空格,就会抛空指针异常!
    所以以后建议大家装服务器的时候路径不要有空格.用-都可以
      

  4.   

    Struts2目前2.1.8这个问题一样没解决.!  就是自动重新加载struts.xml 服务器路径有空格就会报错