Spring+Webwork整合 NoSuchMethodError 错误
Spring+Webwork整合也是一个不错的选择,但是当你出现这个错误的时候,也许你以后花了很久还没有找到问题的根源,因为你肯本不会想到是webwork的源代码出了问题,出错的效果如下列所示:
严重: Exception starting filter webwork
java.lang.NoSuchMethodError: com.opensymphony.webwork.spring.WebWorkSpringObjectFactory.setUseClassCache(Z)V
at com.opensymphony.webwork.spring.WebWorkSpringObjectFactory.init(WebWorkSpringObjectFactory.java:63)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.init(DispatcherUtils.java:149)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.<init>(DispatcherUtils.java:83)
at com.opensymphony.webwork.dispatcher.DispatcherUtils.initialize(DispatcherUtils.java:64)
at com.opensymphony.webwork.dispatcher.FilterDispatcher.init(FilterDispatcher.java:130)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
解决方法:
删除 xwork.jar (webwork-2.2.x 版本) 中 的 com/opensymphony/xwork/spring/SpringObjectFactory.class 程序
然后在你的工程中再新建一个SpringObjectFactory.java ,可以从这里下载 要替换的程序,可以不放在xwork.jar中,直接在工程中 编译后和以前一样运行,现在你可以继续使用Spring+Webwork ,世界又恢复平静 。
口水:
最近每天事情很多,很想再把 push mail 的第三部写完,主要想说 EJB 、JMS集群、数据库散列。

本文由J2ee企业顾问-黄毅创作,并已采用创作共用署名2.5中国大陆版许可证授权。







Comment from Nelson
Time 2010年08月6日 at 2:39 上午
流着口水ing 等push mail第三篇…