Cannot locate the chosen ObjectFactory implementation: spring

今天又遇到这个问题 ,记得 2年前 自己搭建框架 就出现这个问题,当时自己没有弄出来,就找了项目经理,项目经理桌子上放了一杯水 ,我拿着笔记本去了 ,他挪杯子给我腾地方 放笔记本,杯子的水全洒在笔记本键盘上,我立刻卸了电池,然后 电脑吹了好久,开机后 竟然好了,今天又遇到了!我是 重启好多次 ,也没辙!

还是记下来吧 ,相信 错误一定是有原因的 找到解决办法为止:

描述一下 项目架构吧:

简单的web'项目:

在tomcat运行通过,

1.添加struts2.3.4 ,通过配置,测试 struts2 已经可以正常云新

2.添加spring支持,导入spring3.1.3 相应jar包,当然不是全部,只导入和 struts整合需要的jar

在 struts.properties 中将 struts.objectFactory = spring 使用

让后再启动 项目 出现下边问题:

2012-11-1 20:49:13 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - [unknown location]
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:450)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)
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:4072)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: Unable to load configuration. - [unknown location]
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437)
... 28 more
Caused by: Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]
at org.apache.struts2.config.BeanSelectionProvider.alias(BeanSelectionProvider.java:340)
at org.apache.struts2.config.BeanSelectionProvider.alias(BeanSelectionProvider.java:311)
at org.apache.struts2.config.BeanSelectionProvider.register(BeanSelectionProvider.java:245)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:210)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
... 30 more
2012-11-1 20:49:13 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2012-11-1 20:49:13 org.apache.catalina.core.StandardContext start
严重: Context [/orderMeal] startup failed due to previous errors
2012-11-1 20:49:14 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2012-11-1 20:49:15 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2012-11-1 20:49:15 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-11-1 20:49:15 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2012-11-1 20:49:15 org.apache.catalina.startup.Catalina start
信息: Server startup in 16108 ms

解决办法:

这次绝对是我的错:

以为 struts-spring-plugin **.jar 以为是spring的 包

无意中才想起 是struts 的包 ,

哎 ,这两年 干嘛呢 ,退步了!谨记!

猜你喜欢

转载自younglibin.iteye.com/blog/1713759