You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Help is available by sending an email to csf-support@mit.edu
Have any suggestion on how improve this wiki?  Please give us your feedback at csf-support@mit.edu

Quick Links to:

Tomcat 7 manager fails when uploading a WAR file larger than 50 MB.

When the Tomcat 7 manager tries to deploy a war file that is larger that 50 MB, it fails with the following exception:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (63475228) exceeds the configured maximum (52428800)
	org.apache.catalina.connector.Request.parseParts(Request.java:2780)
	org.apache.catalina.connector.Request.parseParameters(Request.java:3024)
	org.apache.catalina.connector.Request.getParameter(Request.java:1139)
	org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:382)
	org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:163)
	org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)

root cause 

org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (63475228) exceeds the configured maximum (52428800)
	org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:804)
	org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:284)
	org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:304)
	org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:129)
	org.apache.catalina.connector.Request.parseParts(Request.java:2718)
	org.apache.catalina.connector.Request.parseParameters(Request.java:3024)
	org.apache.catalina.connector.Request.getParameter(Request.java:1139)
	org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:382)
	org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:163)
	org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.25 logs.

ANSWER:

  • By default, the maximum file size that can be uploaded by the Tomcat 7 manager is 52428800 bytes.  Do the following to change the default:
    1. Edit the web.xml of the Tomcat manager application.  You can find the web.xml file for the Tomcat manager application in the *webapps/manager/WEB-INF/*web.xml directory of your Tomcat installation.
    2. find the <multipart-config> tag and increase the max-file-size and max-request-size to something larger than the war file size you want to deploy.
      <multipart-config> 
          <max-file-size>52428800</max-file-size> 
          <max-request-size>52428800</max-request-size> 
          <file-size-threshold>0</file-size-threshold> 
      </multipart-config> 
      
  • No labels