2011-10-04 259 views
2

我有一個與Spring和休眠的Maven項目。當我編譯項目它的一切權利,但是當我在Tomcat的運行它,我發現這些錯誤:什麼原因導致「NoSuchMethodError:org.springframework.beans.BeanWrapper.setAutoGrowCollectionLimit(I)V?」

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/contact.jsp at line 16 

    13: 
    14:  <table> 
    15:  <tr> 
    16:   <td><form:label path="firstname"><spring:message code="label.firstname"/></form:label></td> 
    17:   <td><form:input path="firstname" /></td> 
    18:  </tr> 
    19:  <tr> 


    Stacktrace: 
     org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) 
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) 
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
     org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
     org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669) 
     org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

    root cause 

    javax.servlet.ServletException: java.lang.NoSuchMethodError: org.springframework.beans.BeanWrapper.setAutoGrowCollectionLimit(I)V 
     org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) 
     org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) 
     org.apache.jsp.WEB_002dINF.jsp.contact_jsp._jspService(contact_jsp.java:99) 
     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
     org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
     org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669) 
     org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

    root cause 

    java.lang.NoSuchMethodError: org.springframework.beans.BeanWrapper.setAutoGrowCollectionLimit(I)V 
     org.springframework.validation.BeanPropertyBindingResult.getPropertyAccessor(BeanPropertyBindingResult.java:94) 
     org.springframework.validation.AbstractPropertyBindingResult.getActualFieldValue(AbstractPropertyBindingResult.java:98) 
     org.springframework.validation.AbstractBindingResult.getFieldValue(AbstractBindingResult.java:225) 
     org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:120) 
     org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174) 
     org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:194) 
     org.springframework.web.servlet.tags.form.LabelTag.autogenerateFor(LabelTag.java:129) 
     org.springframework.web.servlet.tags.form.LabelTag.resolveFor(LabelTag.java:119) 
     org.springframework.web.servlet.tags.form.LabelTag.writeTagContent(LabelTag.java:89) 
     org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102) 
     org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79) 
     org.apache.jsp.WEB_002dINF.jsp.contact_jsp._jspx_meth_form_005flabel_005f0(contact_jsp.java:208) 
     org.apache.jsp.WEB_002dINF.jsp.contact_jsp._jspx_meth_form_005fform_005f0(contact_jsp.java:130) 
     org.apache.jsp.WEB_002dINF.jsp.contact_jsp._jspService(contact_jsp.java:83) 
     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
     org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
     org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669) 
     org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

我認爲最重要的問題是:

org.springframework.beans.BeanWrapper.setAutoGrowCollectionLimit (I)V

但我不明白它的起源。請有人幫助我嗎?

謝謝!

回答

6

錯誤說明了這一切:方法setAutoGrowCollectionLimit不存在於被加載到內存中的類BeanWrapper的版本中。通常,這是由類路徑中較舊的或其他不兼容的JAR版本導致的類路徑問題。

在這種情況下,請查找WEB-INF/lib中的spring-core.jar文件,EAR(如果有的話)以及應用服務器的各種庫目錄。確保您只有一個副本,並且它與您編譯的版本相同。

+0

感謝您的回覆!我已經解決了,非常感謝你! :) – maje

+0

然後請將此答案標記爲正確的答案。 –

+0

對不起..完成! – maje

相關問題