环境:struts2.1.6+hibernate3.2+spring2.5
第一个:项目在tomcat6上部署不了,报以下的错误:
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/D:/Java/tomcat6.0/webapps/struts2.0/WEB-INF/lib/struts2-core-2.0.8.jar!/struts-default.xml
(本人)原因:可能不小心导入了别的包而没被加载(可能是别人不小心)。还有一个是少包。
但具体的情况要自己去分析然后去解决。(希望对你有所帮助,如果有问题可以一起交流)
第二个:还是上面的环境进行整合时报错,错误如下:
No mapping found for dependency [type=java.lang.String, name='struts.objectFactory.spring.autoWire.alwaysRespect'] in public org.apache.struts2.spring.StrutsSpringObjectFactory(java.lang.String,java.lang.String,java.lang.String,javax.servlet.ServletContext).
(本人)原因:整合时的jar包冲突。
解决方法:看你lib中的jar包
是struts的core包的版本不对,核心包用的是2.0的,而struts-spring的插件包用的是2.1.6,所以会出现加载不了映射的错误(所以删掉2.0加,加上2.1.6的就OK了)
第三个:环境同上,还是进行整合是的报错:
Lcom/opensymphony/xwork2/util/logging/Logger
原因:jar包冲突
解决方法:因为struts2的jar包与xwork的版本不兼容问题(我的是struts2.1.6,xwork2.1.2(原先的xwork版本比较低就报这个错,用这个之后就不报错了))。但环境不同可能产生的不尽一样,根据个人的问题去解决,呵呵
总结:我感觉整合struts2.1.6+hibernate3.2+spring2.5时最麻烦的就是jar包冲突这个问题,还有一个就是xml配置(网上有好几种配置,但都是大同小异(主要部分))。