struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
来源:互联网 发布:win7系统优化批处理 编辑:程序博客网 时间:2024/05/16 08:10
tomcat启动报错:
- Class: com.opensymphony.xwork2.spring.SpringObjectFactory
- File: SpringObjectFactory.java
- Method: getClassInstance
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
- at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
- at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
- 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(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:585)
- 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:220)
原因:
配置了依赖:
- <dependency>
- <groupId>org.apache.struts</groupId>
- <artifactId>struts2-spring-plugin</artifactId>
- <version>2.2.1</version>
- </dependency>
但是工程web.xml中没有配置加载spring ApplicationContext相关的listener
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
原理:
查看struts2插件struts2-spring-plugin中的strtus-plugin.xml
- <struts>
- <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
- <!-- Make the Spring object factory the automatic default -->
- <constant name="struts.objectFactory" value="spring" />
- <constant name="struts.class.reloading.watchList" value="" />
- <constant name="struts.class.reloading.acceptClasses" value="" />
- <constant name="struts.class.reloading.reloadConfig" value="false" />
- <package name="spring-default">
- <interceptors>
- <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
- <interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
- </interceptors>
- </package>
- </struts>
注意下面部分,表明该插件引入工程后,会自动设置Struts的ObjectFactory为StrutsSpringObjectFactory,从而让Spring的IOC容器来托管Struts的Action。所以导致了启动的问题。
- <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
- <!-- Make the Spring object factory the automatic default -->
- <constant name="struts.objectFactory" value="spring" />
记录一下错误,方便查看。
0 0
- struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- struts2启动报错 Class: com.opensymphony.xwork2.spring.SpringObjectFactory File: SpringObjectFactory.java
- tomcat 启动报错- com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
- 启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:245:-1
- tomcat启动报: Line: 209 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
- com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
- Line: 209 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1
- Line: 230 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:230:-1
- Line: 230 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:230:-1
- 最实用的代码重构小技巧排行榜TOP10
- [Unity热更新]tolua# & LuaFramework(九):网络通信实例
- 场效应晶体管使用详解
- sql语句中函数
- iOS开发--多线程编程(一)NSThread
- struts2启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
- Redis与Memcached的区别
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- Nexus私服使Maven更加强大
- 用了PhpStorm才知道神马php官方的ZendStudio弱爆了,代码补全、错误提示,还自带版本控制随时方便恢复更改,这才是好用高效的IDE
- centos7_lamp安装
- 模拟信号隔离
- ConcurrentHashMap 深入剖析
- svn:重命名文件之后,不允许提交