2013-11-14 90 views
1

由于最近在Struts中发现了一个安全漏洞,我正在将我的Web应用程序升级到Struts 2.3.15.1。 应用程序启动和运行,但我发现:将Struts 2.1升级到2.3.15.1的问题

Caused by: java.lang.NoSuchMethodError: com/opensymphony/xwork2/util/logging/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V 
at org.apache.struts2.components.UIBean.populateComponentHtmlId(UIBean.java:992) 
at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:801) 
at org.apache.struts2.components.UIBean.end(UIBean.java:523) 
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) 
at com.ibm._jsp._Messages._jspx_meth_s_actionmessage_0(_Messages.java:193) 
at com.ibm._jsp._Messages._jspx_meth_s_if_1(_Messages.java:226) 
at com.ibm._jsp._Messages._jspService(_Messages.java:98) 

我确实有XWork的-2.1.2.jar和其他所需的jar文件在耳内WEB-INF/lib文件夹。 在通过AJAX调用执行保存/删除操作后,使用addActionMessage()方法设置成功/错误消息时,UI中会显示此异常。

回答

0

您有版本不匹配错误,混合来自不同版本框架的库会导致代码中出现意外的不兼容性。确保从一个发行版或Struts版本复制库。如果您正在使用maven,那么更新Struts2依赖关系的版本以对应您使用的版本或使用struts2-core工件来获取所有必需的依赖关系。