Struts启动报空指针

严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:)
at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:)
at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:)
at org.apache.struts2.dispatcher.ng.InitOperations.initStaticContentLoader(InitOperations.java:)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:)
at org.apache.catalina.core.StandardService.start(StandardService.java:)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:)
at org.apache.catalina.startup.Catalina.start(Catalina.java:)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:)
at java.lang.reflect.Method.invoke(Method.java:)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:)
-- :: org.apache.catalina.core.StandardContext start

网上查找后 发现是tomcat的安装路径有空格,修改之后果然解决

一下是摘抄过来的:

经过在网上搜查资料找到了解决方法:

网上解决办法:devMode模式是开发模式,开启它则默认开启了i18n.reload、 configuration.xml.reload。这个错误是由于.xml.reload设置为true倒置的,但是网上的 资料没有说明原因及解决办法,倒是一个国外的apache相关BBS上有人说这是216版本的BUG,并且附上了一个.patch修正文件,说217版本 会修正。。。可我不会用也不知道是不是这个原因,这个问题就一直搁置在这里了。过了几个月,也就是最近网上查了下发现在apache的一个邮件列表中有关 于这个的解释,原因很简单,tomcat的安装路径包含空格。。。无语啊。。。一试果然如此。 我的成功的办法:据说这是struts2.1.6的bug,换新版本2.1.8就ok,当然还要相应的xwork版本,好像是xwork2.1.6,我将原来的2个旧jar包换成新的就ok了。

<!-- 开启使用开发模式,详细错误提示 -->

<!-- <constant name="struts.devMode" value="true"/>-->

<!-- 指定每次请求到达,重新加载资源文件 -->

<!-- <constant name="struts.i18n.reload" value="true"/>-->

<!-- 指定每次配置文件更改后,自动重新加载 -->

<!-- <constant name="struts.configuration.xml.reload" value="true"/>-->

<!-- 指定XSLT Result使用样式表缓存 -->

<!-- <constant name="struts.xslt.nocache" value="true"/>-->

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiazaikunnan/archive/2011/01/28/6168269.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiazaikunnan/archive/2011/01/28/6168269.aspx

上一篇:PHP 输出表格单元格的数据之用表单的方式;


下一篇:php开发中的页面跳转方法总结