IT Blok

kutilovo živobytí

Oprava chyby při deploy aplikace na Tomcat 7

Na vývojovém prostředí jsem nainstaloval Tomcat 7 a do něj jsem chtěl deployovat aplikaci ve formě war souboru. Objevila se však chyba.

V tomto článku si ukážeme, jak chybu opravit a deploy provést.

Při deployi aplikace pomocí manageru se objevila následující chyba:

org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (266999864) exceeds the configured maximum (52428800).

Z chyby je patrné, že deployovaná aplikace je větší než nastavený maximální limit pro deployovaný soubor.

Oprava tohoto stavu je jednoduchá. Stačí změnit limit pro deployovaný soubor na vyšší hodnotu. To se udělá v konfiguračním souboru web.xml, který se nachází v adresáři manageru.

Cesta k souboru $TOMCAT_HOME/webapps/manager/WEB-INF/web.xml (u Windows s opačnými lomítky).

Soubor si otevřeme třeba v notepadu nebo vim a upravíme následující parametr:

<multipart-config>
<!-- 50MB max →
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>

který nastavíme na následující hodnoty:

<multipart-config>
<!-- 400MB max →
<max-file-size>419430400</max-file-size>
<max-request-size>419430400</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>

V konfiguračním parametru <multipart-config> je jako výchozí nastavena velikost 50 MB, což je 52428800 B. Nově jsem nastavil velikost souboru na 400 MB, což je těch 419430400 B.

Samozřejmě je možné nastavit libovolnou velikost. Je nutné dát ale pozor na to, že hodnota parametrů <max-file-size> a <max-request-size> je v BYTEch (bajtech).

Poté co jsem soubor upravil a Tomcat znovu spustil, bez problému jsem war soubor nadeployoval a aplikace byla funkční.