杯具啊,又眼高手低了,ssh配置
最近在为一个新项目搭基础平台,配置文件和jar包全是从别的项目拷来的,其中一个拦截器执行引发的错误,
13:51:11,275 ERROR [webwork]:253 - Servlet.service() for servlet webwork threwxceptionjava.lang.NoSuchMethodError: getAction at wegov.platform.action.LogInterceptor.after(LogInterceptor.java:30) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(ArounInterceptor.java:32) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionIvocation.java:190) at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxyjava:116) at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DipatcherUtils.java:274) at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServleDispatcher.java:111)
看了一下LogInterceptor的30行,
protected void after(ActionInvocation dispather, String result) throws Exception {// Log.debug("Platform LogInterceptor to be called." +" "+dispather.getAction().getClass().getName()); System.out.println("################Platform LogInterceptor to be called." ); try { if ( dispather.getAction() instanceof PlatformLogAware) { PlatformLogAware logAware = (PlatformLogAware) dispather.getAction(); StrucLog logInfo = logAware.getLogInfo();而第三十行的这个dispather对象,是com.opensymphony.xwork.ActionInvocation的实例,反编译一下xwork.jar,ActionInvocation是有getAction method,google了很久,还是不知道为什么会报这个错,无奈之下,求助同事,他说反正是weowork有问题,于是换了个xwork.jar,果真好了,原来是webwork.jar的版本和xwork.jar不匹配,好奇怪啊,lib下的jar包都是整体从其他正常运行项目拷过来的,webwork.jar和xwork.jar怎么会有问题呢,是这个原因吗?