报错Cannot locate the chosen ObjectFactory implementation: spring 但我已添加struts2-spring-plugin包,求助

ouwaner 2008-05-28 02:12:45
报错
ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/]] - Exception starting filter struts2
Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]
at org.apache.struts2.config.BeanSelectionProvider.alias(BeanSelectionProvider.java:224)
at org.apache.struts2.config.BeanSelectionProvider.alias(BeanSelectionProvider.java:195)
at org.apache.struts2.config.BeanSelectionProvider.register(BeanSelectionProvider.java:153)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:223)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:304)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:77)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3600)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4189)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

看到网上说原因是
没有添加struts2-spring-plugin-XXXX.jar

但是我早就已经添加了struts2-spring-plugin-2.0.11.1.jar包
请帮忙,急. 谢谢了.
...全文
11199 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
up_programmer 2012-06-06
  • 打赏
  • 举报
回复
如果使用spring来管理数据对象的话,可以将该属性设置为org.apache.struts2.spring.StrutsSpringObjectFactory
yjfjebj789 2012-03-13
  • 打赏
  • 举报
回复
如果用了2.0以上版本也有这问题,换成2.0的struts2-spring-plugin就可以了
woshiyangdekun 2012-02-19
  • 打赏
  • 举报
回复
如果楼主的STRUTS配置文件改了位置的话,把struts2-spring-plugin-XXX.jar里的struts-plugin.xml加到web.xml里吧。
<filter>
<filter-name>Struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,com/ssi/config/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
falcon165 2011-12-08
  • 打赏
  • 举报
回复
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>

楼主试试这个,应该就可以了。
烧饼 2011-08-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ouwaner 的回复:]

谢谢.
我把
struts.properties里
struts.objectFactory=spring
改成
struts.objectFactory=com.opensymphony.xwork2.ObjectFactory
就可以了
[/Quote]


实践证明这才是正解
fjun123 2011-03-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 edisonfzg 的回复:]

你看下tomcate工程中:WEB-INF\lib中有没有struts2-spring-plugin-2.1.6.jar这个包,有时表面看上去导入,时间发布的时不一定有,我就这个问题
[/Quote]

的确!
Joey_Blue 2010-07-20
  • 打赏
  • 举报
回复
楼上正解!
引入struts2-spring-plugin-2.X.jar包既可!
小泥巴bro 2010-05-28
  • 打赏
  • 举报
回复
导入这个struts2-spring-plugin-2.0.11.1.jar包就fix了,谢谢。
edisonfzg 2010-04-27
  • 打赏
  • 举报
回复
你看下tomcate工程中:WEB-INF\lib中有没有struts2-spring-plugin-2.1.6.jar这个包,有时表面看上去导入,时间发布的时不一定有,我就这个问题
ouyangjunzheng 2009-11-27
  • 打赏
  • 举报
回复
那个配置不成功主要是jar包没有导进去,把struts2-spring-plugin-2.1.6.jar 导进去就可以了
wdw004 2009-07-31
  • 打赏
  • 举报
回复
导入如下的jar包,就可以解决上述问题了,jar包来自struts-2.1.6-lib.zip,spring-framework-2.0.8.zip

ognl-2.6.11.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
struts-core-1.3.10.jar
xwork-2.1.2.jar
spring.jar (jar包来自spring-framework-2.0.8.zip)
struts2-core-2.1.6.jar
commons-io-1.3.2.jar
commons-fileupload-1.2.1.jar
struts2-spring-plugin-2.1.6.jar

我已经测试过了,jdk6.0,tomcat6.0可以跑起来,没出错
不用改struts.properties也可以,该文件中依然配置如下:
struts.objectFactory =spring

虽然经历了各种问题,但还是能跑起来。

grape927 2008-12-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sebatinsky 的回复:]
呵呵,今天又看了下,你按照struts2-spring-plugin-***.jar包里面的配置,然后进行配置就可以了,
没有问题.
[/Quote]哪个文件啊?
sebatinsky 2008-10-14
  • 打赏
  • 举报
回复
呵呵,今天又看了下,你按照struts2-spring-plugin-***.jar包里面的配置,然后进行配置就可以了,
没有问题.
sebatinsky 2008-09-18
  • 打赏
  • 举报
回复
找不到问题的原因了,找了好久,怎么就是不行,
loaferwang 2008-08-21
  • 打赏
  • 举报
回复
不用吧,我这样做,可还是不行呀,这样一说,对配置时,struts.properties很重要呀
ouwaner 2008-05-28
  • 打赏
  • 举报
回复
谢谢.
我把
struts.properties里
struts.objectFactory=spring
改成
struts.objectFactory=com.opensymphony.xwork2.ObjectFactory
就可以了
lyboyc 2008-05-28
  • 打赏
  • 举报
回复
没遇见过这问题,应该是配置不对/
burningice44 2008-05-28
  • 打赏
  • 举报
回复
会不会是你的配置文件没配置好的原因;
仔细检查下
ouwaner 2008-05-28
  • 打赏
  • 举报
回复
...........................

50,559

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧