升级Struts 2.1到2.3.15.1中的问题

时间:2013-11-14 21:50:51

标签: java ajax jsp struts2 jar

由于最近在Struts中发现了安全漏洞,我正在将我的Web应用程序升级到Struts 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)

我在EAR中的web-inf / lib文件夹中有xwork-2.1.2.jar和其他必需的jar文件。 在通过AJAX调用执行保存/删除后,使用addActionMessage()方法设置成功/错误消息时,UI中会显示此异常。

1 个答案:

答案 0 :(得分:0)

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