由于最近在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中会显示此异常。
答案 0 :(得分:0)
您有版本不匹配错误,混合来自不同版本框架的库将导致代码中出现意外的不兼容性。确保从一个发行版或Struts版本中复制库。如果您正在使用maven,则更新Struts2依赖项的版本以对应您使用的版本,或使用struts2-core
工件来获取所有必需的依赖项。