Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 771 | blopes | 1 | <!DOCTYPE html SYSTEM "about:legacy-compat"> |
| 2 | <html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Apache Tomcat 9 Configuration Reference (9.0.112) - Automatic Deployment - Use cases</title></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Apache Tomcat 9 Configuration Reference</h1><div class="versionInfo"> |
||
| 3 | Version 9.0.112, |
||
| 4 | <time datetime="2025-11-06">Nov 6 2025</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Top Level Elements</h2><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul></div><div><h2>Executors</h2><ul><li><a href="executor.html">Executor</a></li></ul></div><div><h2>Connectors</h2><ul><li><a href="http.html">HTTP/1.1</a></li><li><a href="http2.html">HTTP/2</a></li><li><a href="ajp.html">AJP</a></li></ul></div><div><h2>Containers</h2><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul></div><div><h2>Nested Components</h2><ul><li><a href="cookie-processor.html">CookieProcessor</a></li><li><a href="credentialhandler.html">CredentialHandler</a></li><li><a href="globalresources.html">Global Resources</a></li><li><a href="jar-scanner.html">JarScanner</a></li><li><a href="jar-scan-filter.html">JarScanFilter</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="sessionidgenerator.html">SessionIdGenerator</a></li><li><a href="valve.html">Valve</a></li></ul></div><div><h2>Cluster Elements</h2><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul></div><div><h2>web.xml</h2><ul><li><a href="filter.html">Filter</a></li></ul></div><div><h2>Other</h2><ul><li><a href="runtime-attributes.html">Runtime attributes</a></li><li><a href="systemprops.html">System properties</a></li><li><a href="jaspic.html">JASPIC</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Automatic Deployment - Use cases</h2><h3 id="Table_of_Contents">Table of Contents</h3><div class="text"> |
||
| 5 | <ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Key">Key</a></li><li><a href="#New_files">New files</a></li><li><a href="#Deleted_files">Deleted files</a></li><li><a href="#Modified_files">Modified files</a></li><li><a href="#Added_files">Added files</a></li><li><a href="#Notes">Notes</a></li></ul> |
||
| 6 | </div><h3 id="Introduction">Introduction</h3><div class="text"> |
||
| 7 | |||
| 8 | <p>This page defines the expected behaviour of the automatic deployer in many |
||
| 9 | typical use cases. This is a complex area of Tomcat's functionality. |
||
| 10 | While any difference between this document and Tomcat's behaviour is a |
||
| 11 | bug, the fix may be to change this document, Tomcat's behaviour or |
||
| 12 | both.</p> |
||
| 13 | |||
| 14 | </div><h3 id="Key">Key</h3><div class="text"> |
||
| 15 | |||
| 16 | <table class="detail-table"> |
||
| 17 | <tr> |
||
| 18 | <th>Term</th><th>Description</th> |
||
| 19 | </tr> |
||
| 20 | <tr> |
||
| 21 | <td>XML</td> |
||
| 22 | <td>An XML configuration file located in the Host's |
||
| 23 | <em>configBase</em>. It must contain a single <Context> element |
||
| 24 | and may contain optional nested elements. It does not define an |
||
| 25 | explicit <em>docBase</em> attribute. It represents a single web |
||
| 26 | application. It is often referred to as a context.xml file.</td> |
||
| 27 | </tr><tr> |
||
| 28 | <td>XML+EW</td> |
||
| 29 | <td>An XML configuration file located in the Host's |
||
| 30 | <em>configBase</em>. It must contain a single <Context> element |
||
| 31 | and may contain optional nested elements. It includes an explicit |
||
| 32 | <em>docBase</em> attribute that points to an external WAR. It |
||
| 33 | represents a single web application. It is often referred to as a |
||
| 34 | context.xml file.</td> |
||
| 35 | </tr><tr> |
||
| 36 | <td>XML+ED</td> |
||
| 37 | <td>An XML configuration file located in the Host's |
||
| 38 | <em>configBase</em>. It must contain a single <Context> element |
||
| 39 | and may contain optional nested elements. It includes an explicit |
||
| 40 | <em>docBase</em> attribute that points to an external directory. It |
||
| 41 | represents a single web application. It is often referred to as a |
||
| 42 | context.xml file.</td> |
||
| 43 | </tr><tr> |
||
| 44 | <td>WAR</td> |
||
| 45 | <td>A WAR file located in the Host's <em>appBase</em>. The WAR does |
||
| 46 | not include an embedded context.xml file.</td> |
||
| 47 | </tr><tr> |
||
| 48 | <td>WAR+XML</td> |
||
| 49 | <td>A WAR file located in the Host's <em>appBase</em>. The WAR does |
||
| 50 | include an embedded context.xml file.</td> |
||
| 51 | </tr><tr> |
||
| 52 | <td>DIR</td> |
||
| 53 | <td>A directory located in the Host's <em>appBase</em>. The directory |
||
| 54 | does not include an embedded context.xml file.</td> |
||
| 55 | </tr><tr> |
||
| 56 | <td>DIR+XML</td> |
||
| 57 | <td>A directory located in the Host's <em>appBase</em>. The directory |
||
| 58 | does include an embedded context.xml file.</td> |
||
| 59 | </tr><tr> |
||
| 60 | <td>redeploy</td> |
||
| 61 | <td>The Context object that represents the web application is destroyed |
||
| 62 | and a new Context object is created. If present and permitted by the |
||
| 63 | configuration, this new Context object is created by parsing the |
||
| 64 | context.xml file. The web.xml file is parsed during the application |
||
| 65 | start process. Any sessions stored in the standard Manager in the |
||
| 66 | default configuration will not be persisted. Any requests to the web |
||
| 67 | application during the redeploy will be handled as if the web |
||
| 68 | application is not deployed.</td> |
||
| 69 | </tr><tr> |
||
| 70 | <td>reload</td> |
||
| 71 | <td>The Context object that represents the web application is stopped and |
||
| 72 | then started. The web.xml file is parsed during the application start |
||
| 73 | process. Any sessions stored in the standard Manager in the default |
||
| 74 | configuration will not be persisted. Any requests to the web |
||
| 75 | application during the reload will be held until the reload completes |
||
| 76 | at which point they will continue using the reloaded web application. |
||
| 77 | </td> |
||
| 78 | </tr> |
||
| 79 | </table> |
||
| 80 | |||
| 81 | </div><h3 id="New_files">New files</h3><div class="text"> |
||
| 82 | |||
| 83 | <p>This section describes Tomcat's behaviour when the automatic |
||
| 84 | deployment process discovers a new web application.</p> |
||
| 85 | |||
| 86 | <table class="detail-table"> |
||
| 87 | <tr> |
||
| 88 | <th rowspan="2">Starting artifact(s)</th> |
||
| 89 | <th colspan="3">Configuration Settings</th> |
||
| 90 | <th colspan="4">Result</th> |
||
| 91 | </tr> |
||
| 92 | <tr> |
||
| 93 | <th>deployXML</th><th>copyXML</th><th>unpackWARs</th> |
||
| 94 | <th>XML</th><th>WAR</th><th>DIR</th><th>Notes</th> |
||
| 95 | </tr> |
||
| 96 | <tr> |
||
| 97 | <td>XML</td> |
||
| 98 | <td>either</td><td>either</td><td>either</td> |
||
| 99 | <td>Y</td><td>N</td><td>N</td><td>1, 2, 3</td> |
||
| 100 | </tr> |
||
| 101 | <tr> |
||
| 102 | <td>XML+EW</td> |
||
| 103 | <td>either</td><td>either</td><td>false</td> |
||
| 104 | <td>Y</td><td>N</td><td>N</td><td>1</td> |
||
| 105 | </tr> |
||
| 106 | <tr> |
||
| 107 | <td>XML+EW</td> |
||
| 108 | <td>either</td><td>either</td><td>true</td> |
||
| 109 | <td>Y</td><td>N</td><td>Y</td><td>1</td> |
||
| 110 | </tr> |
||
| 111 | <tr> |
||
| 112 | <td>XML+ED</td> |
||
| 113 | <td>either</td><td>either</td><td>either</td> |
||
| 114 | <td>Y</td><td>N</td><td>N</td><td>1, 2</td> |
||
| 115 | </tr> |
||
| 116 | <tr> |
||
| 117 | <td>WAR+XML</td> |
||
| 118 | <td>false</td><td>either</td><td>false</td> |
||
| 119 | <td>N</td><td>Y</td><td>N</td><td>4</td> |
||
| 120 | </tr> |
||
| 121 | <tr> |
||
| 122 | <td>WAR+XML</td> |
||
| 123 | <td>false</td><td>either</td><td>true</td> |
||
| 124 | <td>N</td><td>Y</td><td>Y</td><td>4</td> |
||
| 125 | </tr> |
||
| 126 | <tr> |
||
| 127 | <td>WAR+XML</td> |
||
| 128 | <td>true</td><td>false</td><td>false</td> |
||
| 129 | <td>N</td><td>Y</td><td>N</td><td></td> |
||
| 130 | </tr> |
||
| 131 | <tr> |
||
| 132 | <td>WAR+XML</td> |
||
| 133 | <td>true</td><td>false</td><td>true</td> |
||
| 134 | <td>N</td><td>Y</td><td>Y</td><td></td> |
||
| 135 | </tr> |
||
| 136 | <tr> |
||
| 137 | <td>WAR+XML</td> |
||
| 138 | <td>true</td><td>true</td><td>false</td> |
||
| 139 | <td>Y</td><td>Y</td><td>N</td><td></td> |
||
| 140 | </tr> |
||
| 141 | <tr> |
||
| 142 | <td>WAR+XML</td> |
||
| 143 | <td>true</td><td>true</td><td>true</td> |
||
| 144 | <td>Y</td><td>Y</td><td>Y</td><td></td> |
||
| 145 | </tr> |
||
| 146 | <tr> |
||
| 147 | <td>WAR</td> |
||
| 148 | <td>either</td><td>either</td><td>false</td> |
||
| 149 | <td>N</td><td>Y</td><td>N</td><td></td> |
||
| 150 | </tr> |
||
| 151 | <tr> |
||
| 152 | <td>WAR</td> |
||
| 153 | <td>either</td><td>either</td><td>true</td> |
||
| 154 | <td>N</td><td>Y</td><td>Y</td><td></td> |
||
| 155 | </tr> |
||
| 156 | <tr> |
||
| 157 | <td>DIR+XML</td> |
||
| 158 | <td>false</td><td>either</td><td>either</td> |
||
| 159 | <td>N</td><td>N</td><td>Y</td><td>4</td> |
||
| 160 | </tr> |
||
| 161 | <tr> |
||
| 162 | <td>DIR+XML</td> |
||
| 163 | <td>true</td><td>false</td><td>either</td> |
||
| 164 | <td>N</td><td>N</td><td>Y</td><td></td> |
||
| 165 | </tr> |
||
| 166 | <tr> |
||
| 167 | <td>DIR+XML</td> |
||
| 168 | <td>true</td><td>true</td><td>either</td> |
||
| 169 | <td>Y</td><td>N</td><td>Y</td><td></td> |
||
| 170 | </tr> |
||
| 171 | <tr> |
||
| 172 | <td>DIR</td> |
||
| 173 | <td>false</td><td>either</td><td>either</td> |
||
| 174 | <td>N</td><td>N</td><td>Y</td><td></td> |
||
| 175 | </tr> |
||
| 176 | </table> |
||
| 177 | |||
| 178 | </div><h3 id="Deleted_files">Deleted files</h3><div class="text"> |
||
| 179 | |||
| 180 | <p>This section describes Tomcat's behaviour when the automatic |
||
| 181 | deployment process detects that a web application file has been deleted.</p> |
||
| 182 | |||
| 183 | <p>When a file is deleted or modified any redeploy resources that are listed |
||
| 184 | after the modified/deleted resource are themselves deleted (and possibly |
||
| 185 | re-created). The order of redeploy resources is:</p> |
||
| 186 | |||
| 187 | <ol> |
||
| 188 | <li>WAR</li> |
||
| 189 | <li>DIR</li> |
||
| 190 | <li>XML</li> |
||
| 191 | <li>global resources</li> |
||
| 192 | </ol> |
||
| 193 | |||
| 194 | <p>There are some exceptions to the deletion rule above:</p> |
||
| 195 | |||
| 196 | <ul> |
||
| 197 | <li>global resources are never deleted</li> |
||
| 198 | <li>external resources are never deleted</li> |
||
| 199 | <li>if the WAR or DIR has been modified then the XML file is only deleted if |
||
| 200 | <em>copyXML</em> is <code>true</code> and <em>deployXML</em> is |
||
| 201 | <code>true</code></li> |
||
| 202 | </ul> |
||
| 203 | |||
| 204 | <p>In the following table:</p> |
||
| 205 | |||
| 206 | <ul> |
||
| 207 | <li>'-' means "unchanged from not present". i.e. the artifact wasn't present |
||
| 208 | before the change and isn't present after it either. '-' rather than 'N' |
||
| 209 | is used to focus attention on what changes.</li> |
||
| 210 | <li>'R' means that the directory is re-created by expanding the WAR file. |
||
| 211 | This will only happen if <em>unpackWARs</em> is <code>true</code>.</li> |
||
| 212 | <li>'XW' means that the if the WAR contains a META-INF/context.xml file it |
||
| 213 | will be extracted and placed in the Host's <em>configBase</em>. |
||
| 214 | This only happens if <em>copyXML</em> is <code>true</code> and |
||
| 215 | <em>deployXML</em> is <code>true</code>.</li> |
||
| 216 | <li>'XD' means that the if the directory contains a META-INF/context.xml |
||
| 217 | file it will be copied to the Host's <em>configBase</em>. This only |
||
| 218 | happens if <em>copyXML</em> is <code>true</code> and <em>deployXML</em> |
||
| 219 | is <code>true</code>.</li> |
||
| 220 | </ul> |
||
| 221 | |||
| 222 | <table class="detail-table"> |
||
| 223 | <tr> |
||
| 224 | <th colspan="3">Artifacts present</th> |
||
| 225 | <th rowspan="2">Artifact removed</th> |
||
| 226 | <th colspan="4">Artifacts remaining</th> |
||
| 227 | </tr> |
||
| 228 | <tr> |
||
| 229 | <th>XML</th><th>WAR</th><th>DIR</th> |
||
| 230 | <th>XML</th><th>WAR</th><th>DIR</th><th>Notes</th> |
||
| 231 | </tr> |
||
| 232 | <tr> |
||
| 233 | <td>N</td><td>N</td><td>Y</td> |
||
| 234 | <td>DIR</td> |
||
| 235 | <td>-</td><td>-</td><td>N</td><td></td> |
||
| 236 | </tr> |
||
| 237 | <tr> |
||
| 238 | <td>N</td><td>Y</td><td>N</td> |
||
| 239 | <td>WAR</td> |
||
| 240 | <td>-</td><td>N</td><td>-</td><td></td> |
||
| 241 | </tr> |
||
| 242 | <tr> |
||
| 243 | <td>N</td><td>Y</td><td>Y</td> |
||
| 244 | <td>DIR</td> |
||
| 245 | <td>-</td><td>Y</td><td>R</td><td></td> |
||
| 246 | </tr> |
||
| 247 | <tr> |
||
| 248 | <td>N</td><td>Y</td><td>Y</td> |
||
| 249 | <td>WAR</td> |
||
| 250 | <td>-</td><td>N</td><td>N</td><td></td> |
||
| 251 | </tr> |
||
| 252 | <tr> |
||
| 253 | <td>Y</td><td>N</td><td>N</td> |
||
| 254 | <td>XML</td> |
||
| 255 | <td>N</td><td>-</td><td>-</td><td></td> |
||
| 256 | </tr> |
||
| 257 | <tr> |
||
| 258 | <td>Y</td><td>N</td><td>Y</td> |
||
| 259 | <td>DIR</td> |
||
| 260 | <td>N</td><td>-</td><td>N</td><td>5</td> |
||
| 261 | </tr> |
||
| 262 | <tr> |
||
| 263 | <td>Y</td><td>N</td><td>Y</td> |
||
| 264 | <td>XML</td> |
||
| 265 | <td>XD</td><td>-</td><td>Y</td><td></td> |
||
| 266 | </tr> |
||
| 267 | <tr> |
||
| 268 | <td>Y</td><td>Y</td><td>N</td> |
||
| 269 | <td>WAR</td> |
||
| 270 | <td>N</td><td>N</td><td>-</td><td>5</td> |
||
| 271 | </tr> |
||
| 272 | <tr> |
||
| 273 | <td>Y</td><td>Y</td><td>N</td> |
||
| 274 | <td>XML</td> |
||
| 275 | <td>XW</td><td>Y</td><td>-</td><td></td> |
||
| 276 | </tr> |
||
| 277 | <tr> |
||
| 278 | <td>Y</td><td>Y</td><td>Y</td> |
||
| 279 | <td>DIR</td> |
||
| 280 | <td>XW</td><td>Y</td><td>R</td><td></td> |
||
| 281 | </tr> |
||
| 282 | <tr> |
||
| 283 | <td>Y</td><td>Y</td><td>Y</td> |
||
| 284 | <td>WAR</td> |
||
| 285 | <td>N</td><td>N</td><td>N</td><td></td> |
||
| 286 | </tr> |
||
| 287 | <tr> |
||
| 288 | <td>Y</td><td>Y</td><td>Y</td> |
||
| 289 | <td>XML</td> |
||
| 290 | <td>XW</td><td>Y</td><td>Y</td><td></td> |
||
| 291 | </tr> |
||
| 292 | <tr> |
||
| 293 | <td>Y</td><td>Y (external)</td><td>N</td> |
||
| 294 | <td>WAR</td> |
||
| 295 | <td>Y</td><td>N</td><td>-</td><td>3</td> |
||
| 296 | </tr> |
||
| 297 | <tr> |
||
| 298 | <td>Y</td><td>Y (external)</td><td>N</td> |
||
| 299 | <td>XML</td> |
||
| 300 | <td>N</td><td>Y (external)</td><td>-</td><td>6</td> |
||
| 301 | </tr> |
||
| 302 | <tr> |
||
| 303 | <td>Y</td><td>N</td><td>Y (external)</td> |
||
| 304 | <td>DIR</td> |
||
| 305 | <td>Y</td><td>-</td><td>N</td><td>3</td> |
||
| 306 | </tr> |
||
| 307 | <tr> |
||
| 308 | <td>Y</td><td>N</td><td>Y (external)</td> |
||
| 309 | <td>XML</td> |
||
| 310 | <td>N</td><td>-</td><td>Y (external)</td><td>6</td> |
||
| 311 | </tr> |
||
| 312 | <tr> |
||
| 313 | <td>Y</td><td>Y (external)</td><td>Y</td> |
||
| 314 | <td>DIR</td> |
||
| 315 | <td>Y</td><td>Y (external)</td><td>R</td><td></td> |
||
| 316 | </tr> |
||
| 317 | <tr> |
||
| 318 | <td>Y</td><td>Y (external)</td><td>Y</td> |
||
| 319 | <td>WAR</td> |
||
| 320 | <td>Y</td><td>N</td><td>N</td><td>3</td> |
||
| 321 | </tr> |
||
| 322 | <tr> |
||
| 323 | <td>Y</td><td>Y (external)</td><td>Y</td> |
||
| 324 | <td>XML</td> |
||
| 325 | <td>N</td><td>Y (external)</td><td>N</td><td>6</td> |
||
| 326 | </tr> |
||
| 327 | </table> |
||
| 328 | |||
| 329 | </div><h3 id="Modified_files">Modified files</h3><div class="text"> |
||
| 330 | |||
| 331 | <p>This section describes Tomcat's behaviour when the automatic |
||
| 332 | deployment process detects that a web application file has been modified.</p> |
||
| 333 | |||
| 334 | <p>In the following table:</p> |
||
| 335 | |||
| 336 | <ul> |
||
| 337 | <li>'-' means "unchanged from not present". i.e. the artifact wasn't present |
||
| 338 | before the change and isn't present after it either. '-' rather than 'N' |
||
| 339 | is used to focus attention on what changes.</li> |
||
| 340 | <li>'M' means that the artifact has been modified.</li> |
||
| 341 | <li>'R' means that the directory is deleted and re-created by expanding the |
||
| 342 | WAR file. This will only happen if <em>unpackWARs</em> is |
||
| 343 | <code>true</code>.</li> |
||
| 344 | </ul> |
||
| 345 | |||
| 346 | <table class="detail-table"> |
||
| 347 | <tr> |
||
| 348 | <th colspan="3">Artifacts present</th> |
||
| 349 | <th rowspan="2">Artifact modified</th> |
||
| 350 | <th colspan="4">Artifacts remaining</th> |
||
| 351 | </tr> |
||
| 352 | <tr> |
||
| 353 | <th>XML</th><th>WAR</th><th>DIR</th> |
||
| 354 | <th>XML</th><th>WAR</th><th>DIR</th><th>Action</th> |
||
| 355 | </tr> |
||
| 356 | <tr> |
||
| 357 | <td>N</td><td>N</td><td>Y</td> |
||
| 358 | <td>DIR</td> |
||
| 359 | <td>-</td><td>-</td><td>M</td><td>None</td> |
||
| 360 | </tr> |
||
| 361 | <tr> |
||
| 362 | <td>N</td><td>Y</td><td>N</td> |
||
| 363 | <td>WAR</td> |
||
| 364 | <td>-</td><td>M</td><td>-</td><td>Redeploy</td> |
||
| 365 | </tr> |
||
| 366 | <tr> |
||
| 367 | <td>N</td><td>Y</td><td>Y</td> |
||
| 368 | <td>DIR</td> |
||
| 369 | <td>-</td><td>Y</td><td>M</td><td>None</td> |
||
| 370 | </tr> |
||
| 371 | <tr> |
||
| 372 | <td>N</td><td>Y</td><td>Y</td> |
||
| 373 | <td>WAR</td> |
||
| 374 | <td>-</td><td>M</td><td>R</td><td>Redeploy</td> |
||
| 375 | </tr> |
||
| 376 | <tr> |
||
| 377 | <td>Y</td><td>N</td><td>N</td> |
||
| 378 | <td>XML</td> |
||
| 379 | <td>M</td><td>-</td><td>-</td><td>Redeploy</td> |
||
| 380 | </tr> |
||
| 381 | <tr> |
||
| 382 | <td>Y</td><td>N</td><td>Y</td> |
||
| 383 | <td>DIR</td> |
||
| 384 | <td>Y</td><td>-</td><td>M</td><td>None</td> |
||
| 385 | </tr> |
||
| 386 | <tr> |
||
| 387 | <td>Y</td><td>N</td><td>Y</td> |
||
| 388 | <td>XML</td> |
||
| 389 | <td>M</td><td>-</td><td>Y</td><td>Redeploy</td> |
||
| 390 | </tr> |
||
| 391 | <tr> |
||
| 392 | <td>Y</td><td>Y</td><td>N</td> |
||
| 393 | <td>WAR</td> |
||
| 394 | <td>Y</td><td>M</td><td>-</td><td>Reload</td> |
||
| 395 | </tr> |
||
| 396 | <tr> |
||
| 397 | <td>Y</td><td>Y</td><td>N</td> |
||
| 398 | <td>XML</td> |
||
| 399 | <td>M</td><td>Y</td><td>-</td><td>Redeploy</td> |
||
| 400 | </tr> |
||
| 401 | <tr> |
||
| 402 | <td>Y</td><td>Y</td><td>Y</td> |
||
| 403 | <td>DIR</td> |
||
| 404 | <td>Y</td><td>Y</td><td>M</td><td>None</td> |
||
| 405 | </tr> |
||
| 406 | <tr> |
||
| 407 | <td>Y</td><td>Y</td><td>Y</td> |
||
| 408 | <td>WAR</td> |
||
| 409 | <td>Y</td><td>M</td><td>R</td><td>Reload</td> |
||
| 410 | </tr> |
||
| 411 | <tr> |
||
| 412 | <td>Y</td><td>Y</td><td>Y</td> |
||
| 413 | <td>XML</td> |
||
| 414 | <td>M</td><td>Y</td><td>Y</td><td>Redeploy</td> |
||
| 415 | </tr> |
||
| 416 | <tr> |
||
| 417 | <td>Y</td><td>Y(external)</td><td>N</td> |
||
| 418 | <td>WAR</td> |
||
| 419 | <td>Y</td><td>M(external)</td><td>-</td><td>Reload</td> |
||
| 420 | </tr> |
||
| 421 | <tr> |
||
| 422 | <td>Y</td><td>Y(external)</td><td>N</td> |
||
| 423 | <td>XML</td> |
||
| 424 | <td>M</td><td>Y(external)</td><td>-</td><td>Redeploy</td> |
||
| 425 | </tr> |
||
| 426 | <tr> |
||
| 427 | <td>Y</td><td>N</td><td>Y(external)</td> |
||
| 428 | <td>DIR</td> |
||
| 429 | <td>Y</td><td>-</td><td>M(external)</td><td>None</td> |
||
| 430 | </tr> |
||
| 431 | <tr> |
||
| 432 | <td>Y</td><td>N</td><td>Y(external)</td> |
||
| 433 | <td>XML</td> |
||
| 434 | <td>M</td><td>-</td><td>Y(external)</td><td>Redeploy</td> |
||
| 435 | </tr> |
||
| 436 | <tr> |
||
| 437 | <td>Y</td><td>Y(external)</td><td>Y</td> |
||
| 438 | <td>DIR</td> |
||
| 439 | <td>Y</td><td>Y(external)</td><td>M</td><td>None</td> |
||
| 440 | </tr> |
||
| 441 | <tr> |
||
| 442 | <td>Y</td><td>Y(external)</td><td>Y</td> |
||
| 443 | <td>WAR</td> |
||
| 444 | <td>Y</td><td>M(external)</td><td>R</td><td>Reload</td> |
||
| 445 | </tr> |
||
| 446 | <tr> |
||
| 447 | <td>Y</td><td>Y(external)</td><td>Y</td> |
||
| 448 | <td>XML</td> |
||
| 449 | <td>M</td><td>Y(external)</td><td>Y</td><td>Redeploy</td> |
||
| 450 | </tr> |
||
| 451 | </table> |
||
| 452 | |||
| 453 | </div><h3 id="Added_files">Added files</h3><div class="text"> |
||
| 454 | |||
| 455 | <p>This is treated as if the added file has been modified with the following |
||
| 456 | additional actions:</p> |
||
| 457 | |||
| 458 | <ul> |
||
| 459 | <li>If a WAR is added, any DIR is removed and may be recreated depending on |
||
| 460 | <em>unpackWARs</em>.</li> |
||
| 461 | <li>If an XML file is added that refers to an external <em>docBase</em> any |
||
| 462 | WAR or DIR in the appBase will be removed. The DIR may be recreated if |
||
| 463 | the external resource is a WAR and <em>unpackWARs</em> is true.</li> |
||
| 464 | <li>If a DIR is added when a WAR already exists and <em>unpackWARs</em> is |
||
| 465 | <code>false</code>, the DIR will be ignored but a warning will be |
||
| 466 | logged when the DIR is first detected. If the WAR is removed, the DIR |
||
| 467 | will be left and may be deployed via automatic deployment.</li> |
||
| 468 | <li>If a WAR is added to the <em>appBase</em> when an external WAR already |
||
| 469 | exists, the WAR in the <em>appBase</em> will be ignored but a warning |
||
| 470 | will be logged when the WAR in the <em>appBase</em> is first detected. |
||
| 471 | If the external WAR is removed, the WAR in the <em>appBase</em> will be |
||
| 472 | left and may be deployed via automatic deployment.</li> |
||
| 473 | <li>If an XML file is added to the META-INF directory of an application |
||
| 474 | deployed from that DIR, the application will always be redeployed. The |
||
| 475 | result will be the same as for a new deployment.</li> |
||
| 476 | </ul> |
||
| 477 | |||
| 478 | </div><h3 id="Notes">Notes</h3><div class="text"> |
||
| 479 | |||
| 480 | <ol> |
||
| 481 | <li><em>deployXML</em> and <em>copyXML</em> are ignored since an XML file |
||
| 482 | was discovered in the <em>configBase</em>.</li> |
||
| 483 | <li><em>unpackWARs</em> is ignored since there is no WAR file.</li> |
||
| 484 | <li>The context will fail to start because there is no content in the |
||
| 485 | expected <em>docBase</em>.</li> |
||
| 486 | <li>The web application fails to deploy because it contains an embedded |
||
| 487 | META-INF/context.xml, <em>deployXML</em> is <code>false</code> and an |
||
| 488 | XML has not been provided in the <em>configBase</em>.</li> |
||
| 489 | <li>The XML file is only deleted if <em>copyXML</em> is <code>true</code> |
||
| 490 | and <em>deployXML</em> is <code>true</code>.</li> |
||
| 491 | <li>Although the external resource is still present, the web application is |
||
| 492 | fully undeployed as Tomcat has no knowledge of the external resource. |
||
| 493 | </li> |
||
| 494 | </ol> |
||
| 495 | |||
| 496 | </div></div></div></div></div><footer><div id="footer"> |
||
| 497 | Copyright © 1999-2025, The Apache Software Foundation |
||
| 498 | <br> |
||
| 499 | Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo |
||
| 500 | are either registered trademarks or trademarks of the Apache Software |
||
| 501 | Foundation. |
||
| 502 | </div></footer></div></body></html> |