贴出具体情况,大家看有没碰到这种情况,
我只用到了struts2,使用到的jar包如下:
commons-logging-1.0.4.jar
freeer-2.3.15.jar 
struts2-core-2.1.8.jar 
xwork-core-2.1.6.jar
commons-io-1.3.2.jar
commons-fileupload-1.2.1.jar
ognl-2.7.3.jar
启动tomcat报错,错误信息如下:
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.
2010-11-3 14:48:46 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Class: com.opensymphony.xwork2.spring.SpringObjectFactory
File: SpringObjectFactory.java
Method: getClassInstance
Line: 209 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
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.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:209)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:519)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:490)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:446)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
... 19 more
2010-11-3 14:48:46 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-11-3 14:48:46 org.apache.catalina.core.StandardContext start
严重: Context [/Others] startup failed due to previous errors本人从网上搜到的主要说法
1.lib中多导入包的大原因:去掉struts2-spring-plugin-2.1.8包即可,因为没有用到spring。
2.还有的原因是用spring了,却没加监听器,在web.xml里面加上
跟本人情况不符
希望各位大哥帮忙解决,对症下药

解决方案 »

  1.   

    我怎么感觉还少了一个jar包呢。或者jar包的版本不对!
      

  2.   

    xwork-core-2.1.6.jar你在这个jar包下面看能不能找到com/opensymphony/xwork2/spring/SpringObjectFactory.class
      

  3.   

    有这个class,我想应该不是它的问题,因为我根本就没用到spring
      

  4.   

    那你找找所有的配置文件有spring的配置吗?或者你就建一个干净的工程再搭没有spring的环境!
      

  5.   

    你说的那种情况我也试过了 ,不顶用。不过我刚才加上spring支持就不报错了。
    我在想会不会是包的问题。我现在很久没单独用过struts2了,没想到刚用它就整出这样的问题来了,头大。
      

  6.   

    struts 和spring 集成 的配置文件。贴出来看看。
    报空指针错,应该是包不全。
      

  7.   

    再次申明,我之前并没有用spring,但是如果我用到了spring的话,就不报错了。
      

  8.   

    会不会是因为这样呢?
    我所使用的tomcat是公司开发所用的tomcat,公司用的tomcat的lib里面会加入所有需要用到的包。
    但是我没有去添加 Server Runtime,应该就没有用到tomcat里面的包吧。