Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/tomcat/webapps/docs/config/ |
<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 7 Configuration Reference (7.0.103) - The Loader Component</title><meta name="author" content="Craig R. McClanahan"><style type="text/css" media="print"> .noPrint {display: none;} td#mainBody {width: 100%;} </style><style type="text/css"> code {background-color:rgb(224,255,255);padding:0 0.1em;} code.attributeName, code.propertyName {background-color:transparent;} table { border-collapse: collapse; text-align: left; } table *:not(table) { /* Prevent border-collapsing for table child elements like <div> */ border-collapse: separate; } th { text-align: left; } div.codeBox pre code, code.attributeName, code.propertyName, code.noHighlight, .noHighlight code { background-color: transparent; } div.codeBox { overflow: auto; margin: 1em 0; } div.codeBox pre { margin: 0; padding: 4px; border: 1px solid #999; border-radius: 5px; background-color: #eff8ff; display: table; /* To prevent <pre>s from taking the complete available width. */ /* When it is officially supported, use the following CSS instead of display: table to prevent big <pre>s from exceeding the browser window: max-width: available; width: min-content; */ } div.codeBox pre.wrap { white-space: pre-wrap; } table.defaultTable tr, table.detail-table tr { border: 1px solid #CCC; } table.defaultTable tr:nth-child(even), table.detail-table tr:nth-child(even) { background-color: #FAFBFF; } table.defaultTable tr:nth-child(odd), table.detail-table tr:nth-child(odd) { background-color: #EEEFFF; } table.defaultTable th, table.detail-table th { background-color: #88b; color: #fff; } table.defaultTable th, table.defaultTable td, table.detail-table th, table.detail-table td { padding: 5px 8px; } p.notice { border: 1px solid rgb(255, 0, 0); background-color: rgb(238, 238, 238); color: rgb(0, 51, 102); padding: 0.5em; margin: 1em 2em 1em 1em; } </style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="https://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt=" The Apache Tomcat Servlet/JSP Container " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 7</font></h1><font face="arial,helvetica,sanserif">Version 7.0.103, Mar 16 2020</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.svg" align="right" alt="Apache Logo" border="0" style="width: 266px;height: 83px;"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li><li><a href="https://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><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><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="jar-scanner.html">JarScanner</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><p><strong>Cluster Elements</strong></p><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><p><strong>web.xml</strong></p><ul><li><a href="filter.html">Filter</a></li></ul><p><strong>Other</strong></p><ul><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>The Loader Component</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote> <ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Common_Attributes">Common Attributes</a></li><li><a href="#Standard_Implementation">Standard Implementation</a></li><li><a href="#VirtualWebappLoader_Implementation">VirtualWebappLoader Implementation</a></li></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a><ol><li><a href="#Logging">Logging</a></li></ol></li></ul> </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote> <p>The <strong>Loader</strong> element represents the <em>web application class loader</em> that will be used to load Java classes and resources for your web application. Such a class loader must follow the requirements of the Servlet Specification, and load classes from the following locations:</p> <ul> <li>From the <code>/WEB-INF/classes</code> directory inside your web application.</li> <li>From JAR files in the <code>/WEB-INF/lib</code> directory inside your web application.</li> <li>From resources made available by Catalina to all web applications globally.</li> </ul> <p>A Loader element MAY be nested inside a <a href="context.html">Context</a> component. If it is not included, a default Loader configuration will be created automatically, which is sufficient for most requirements.</p> <p>For a more in-depth description of the class loader hierarchy that is implemented by Catalina, see <a href="../class-loader-howto.html">the ClassLoader HowTo</a>.</p> <p><em>The description below uses the variable name $CATALINA_BASE to refer the base directory against which most relative paths are resolved. If you have not configured Tomcat for multiple instances by setting a CATALINA_BASE directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME, the directory into which you have installed Tomcat.</em></p> </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote> <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Common Attributes"><!--()--></a><a name="Common_Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote> <p>All implementations of <strong>Loader</strong> support the following attributes:</p> <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code class="attributeName">className</code></td><td align="left" valign="center"> <p>Java class name of the implementation to use. This class must implement the <code>org.apache.catalina.Loader</code> interface. If not specified, the standard value (defined below) will be used.</p> </td></tr><tr><td align="left" valign="center"><code class="attributeName">delegate</code></td><td align="left" valign="center"> <p>Set to <code>true</code> if you want the class loader to follow the standard Java2 delegation model, and attempt to load classes from parent class loaders <strong>before</strong> looking inside the web application. Set to <code>false</code> (the default) to have the class loader look inside the web application first, before asking parent class loaders to find requested classes or resources.</p> </td></tr><tr><td align="left" valign="center"><code class="attributeName">reloadable</code></td><td align="left" valign="center"> <p>Set to <code>true</code> if you want Catalina to monitor classes in <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for changes, and automatically reload the web application if a change is detected. This feature is very useful during application development, but it requires significant runtime overhead and is not recommended for use on deployed production applications. You can use the <a href="../manager-howto.html">Manager</a> web application, however, to trigger reloads of deployed applications on demand.</p> <p><strong>NOTE</strong> - The value for this property will be inherited from the <code>reloadable</code> attribute you set on the surrounding <a href="context.html">Context</a> component, and any value you explicitly set here will be replaced.</p> </td></tr></table> </blockquote></td></tr></table> <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Standard Implementation"><!--()--></a><a name="Standard_Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote> <p>The standard implementation of <strong>Loader</strong> is <strong>org.apache.catalina.loader.WebappLoader</strong>. It supports the following additional attributes (in addition to the common attributes listed above):</p> <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code class="attributeName">loaderClass</code></td><td align="left" valign="center"> <p>Java class name of the <code>java.lang.ClassLoader</code> implementation class to use. If not specified, the default value is <code>org.apache.catalina.loader.WebappClassLoader</code>. Custom <strong>loaderClass</strong> implementations must extend <code>org.apache.catalina.loader.WebappClassLoaderBase</code>.The default <strong>loaderClass</strong> is not parallel capable. A parallel capable <strong>loaderClass</strong> is available when running on a Java 7 or higher JRE and can be used by specifying <code>org.apache.catalina.loader.ParallelWebappClassLoader</code>.</p> </td></tr><tr><td align="left" valign="center"><code class="attributeName">searchExternalFirst</code></td><td align="left" valign="center"> <p>Set to <code>true</code> if you want repositories outside of <code>WEB-INF/classes</code> and <code>WEB-INF/lib</code> to be searched first. Default value is <code>false</code>.</p> </td></tr><tr><td align="left" valign="center"><code class="attributeName">jarOpenInterval</code></td><td align="left" valign="center"> <p>The interval in milliseconds to keep all jar files open if no jar is accessed. The default value is <code>90000</code> milliseconds. A non-positive interval indicates keeping jars always open. </p> </td></tr></table> </blockquote></td></tr></table> <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="VirtualWebappLoader Implementation"><!--()--></a><a name="VirtualWebappLoader_Implementation"><strong>VirtualWebappLoader Implementation</strong></a></font></td></tr><tr><td><blockquote> <p>This implementation of <strong>Loader</strong> is <strong>org.apache.catalina.loader.VirtualWebappLoader</strong>. It extends <code>WebappLoader</code> and supports the following additional attributes</p> <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><code class="attributeName">virtualClasspath</code></td><td align="left" valign="center"> <p>Additional repositories to search for resources. Multiple values can be joined using <code>;</code> as a separator.</p> <p>Leading and trailing whitespaces in values are ignored. If a value does not point to an existing directory or <code>*.jar</code> file, it is silently skipped. Diagnostic messages can be seen if you enable debug logging for the VirtualWebappLoader class. </p> <p>Example: <code>virtualClasspath="${catalina.base}/myapp_config"</code></p> </td></tr><tr><td align="left" valign="center"><code class="attributeName">searchVirtualFirst</code></td><td align="left" valign="center"> <p>Set to <code>true</code> if you want the virtual class path to be searched before <code>WEB-INF/classes</code> and <code>WEB-INF/lib</code>. Default value is <code>false</code>.</p> <p>If searched before, resources located in the virtual class path take precendence over resources with the same name contained in the webapp.</p> </td></tr></table> </blockquote></td></tr></table> </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Nested Components"><!--()--></a><a name="Nested_Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote> <p>No components may be nested inside a <strong>Loader</strong> element.</p> </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Special Features"><!--()--></a><a name="Special_Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote> <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote> <p>A loader is associated with the log category based on its classname.</p> </blockquote></td></tr></table> </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em> Copyright © 1999-2020, Apache Software Foundation </em></font></div></td></tr></table></body></html>