2013-11-14 111 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工件來獲取所有必需的依賴關係。