blob: 0e66e31c17d0bfb407f827e40fd928780241120c [file] [log] [blame]
刘洪青6266f992017-05-15 21:21:03 +08001<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 7 Configuration Reference (7.0.77) - The Jar Scanner Component</title><style type="text/css" media="print">
2 .noPrint {display: none;}
3 td#mainBody {width: 100%;}
4</style><style type="text/css">
5code {background-color:rgb(224,255,255);padding:0 0.1em;}
6code.attributeName, code.propertyName {background-color:transparent;}
7
8
9table {
10 border-collapse: collapse;
11 text-align: left;
12}
13table *:not(table) {
14 /* Prevent border-collapsing for table child elements like <div> */
15 border-collapse: separate;
16}
17
18th {
19 text-align: left;
20}
21
22
23div.codeBox pre code, code.attributeName, code.propertyName, code.noHighlight, .noHighlight code {
24 background-color: transparent;
25}
26div.codeBox {
27 overflow: auto;
28 margin: 1em 0;
29}
30div.codeBox pre {
31 margin: 0;
32 padding: 4px;
33 border: 1px solid #999;
34 border-radius: 5px;
35 background-color: #eff8ff;
36 display: table; /* To prevent <pre>s from taking the complete available width. */
37 /*
38 When it is officially supported, use the following CSS instead of display: table
39 to prevent big <pre>s from exceeding the browser window:
40 max-width: available;
41 width: min-content;
42 */
43}
44
45div.codeBox pre.wrap {
46 white-space: pre-wrap;
47}
48
49
50table.defaultTable tr, table.detail-table tr {
51 border: 1px solid #CCC;
52}
53
54table.defaultTable tr:nth-child(even), table.detail-table tr:nth-child(even) {
55 background-color: #FAFBFF;
56}
57
58table.defaultTable tr:nth-child(odd), table.detail-table tr:nth-child(odd) {
59 background-color: #EEEFFF;
60}
61
62table.defaultTable th, table.detail-table th {
63 background-color: #88b;
64 color: #fff;
65}
66
67table.defaultTable th, table.defaultTable td, table.detail-table th, table.detail-table td {
68 padding: 5px 8px;
69}
70
71
72p.notice {
73 border: 1px solid rgb(255, 0, 0);
74 background-color: rgb(238, 238, 238);
75 color: rgb(0, 51, 102);
76 padding: 0.5em;
77 margin: 1em 2em 1em 1em;
78}
79</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="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="
80 The Apache Tomcat Servlet/JSP Container
81 " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 7</font></h1><font face="arial,helvetica,sanserif">Version 7.0.77, Mar 28 2017</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="http://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 Jar Scanner 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>
82<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></ol></li><li><a href="#Nested_Components">Nested Components</a></li><li><a href="#Special_Features">Special Features</a></li></ul>
83</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>
84
85 <p>The <strong>Jar Scanner</strong> element represents the component that is
86 used to scan the web application for JAR files. It is typically used during
87 web application start to identify configuration files such as TLDs or
88 web-fragment.xml files that must be processed as part of the web application
89 initialisation.</p>
90
91 <p>A Jar Scanner element MAY be nested inside a
92 <a href="context.html">Context</a> component. If it is not included,
93 a default Jar Scanner configuration will be created automatically, which
94 is sufficient for most requirements.</p>
95
96</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>
97
98 <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>
99
100 <p>All implementations of <strong>Jar Scanner</strong>
101 support the following attributes:</p>
102
103 <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">
104 <p>Java class name of the implementation to use. This class must
105 implement the <code>org.apache.tomcat.JarScanner</code> interface.
106 If not specified, the standard value (defined below) will be used.</p>
107 </td></tr></table>
108
109 </blockquote></td></tr></table>
110
111
112 <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>
113
114 <p>The standard implementation of <strong>Jar Scanner</strong> is
115 <strong>org.apache.tomcat.util.scan.StandardJarScanner</strong>.
116 Additional attributes that it supports (in addition to the common attributes
117 listed above) are listed in the table.</p>
118
119 <p>There are several
120 <a href="systemprops.html#JAR_Scanning">system properties</a>
121 that control what JAR files are skipped by JarScanner.
122 Those properties are lists of file name pattern. The
123 patterns are separated by comma (','). The leading and trailing whitespace
124 characters in a pattern are ignored. The patterns are matched
125 case-sensitively. The following two special characters are supported:</p>
126
127 <ul>
128 <li>'*' &#151; means zero or more characters,</li>
129 <li>'?' &#151; means one and only one character.</li>
130 </ul>
131
132 <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">scanAllDirectories</code></td><td align="left" valign="center">
133 <p>If <code>true</code>, any directories found on the classpath will be
134 checked to see if they are expanded JAR files.
135 The default is <code>false</code>.</p>
136 <p>Tomcat determines if a directory is an expanded JAR file by looking
137 for a META-INF sub-directory. Only if the META-INF sub-directory exists,
138 the directory is assumed to be an expanded JAR file.</p>
139 </td></tr><tr><td align="left" valign="center"><code class="attributeName">scanAllFiles</code></td><td align="left" valign="center">
140 <p>If <code>true</code>, any files found on the classpath will be checked
141 to see if they are Jar files rather than relying on the file extension
142 being <code>.jar</code>. The default is <code>false</code>.</p>
143 </td></tr><tr><td align="left" valign="center"><code class="attributeName">scanClassPath</code></td><td align="left" valign="center">
144 <p>If <code>true</code>, the full web application classpath, including
145 the shared and common classloaders and the system classpath (but not the
146 bootstrap classpath) will be scanned for Jar files in addition to the web
147 application. The default is <code>true</code>. </p>
148 </td></tr><tr><td align="left" valign="center"><code class="attributeName">scanBootstrapClassPath</code></td><td align="left" valign="center">
149 <p>If <strong>scanClassPath</strong> is <code>true</code> and this is
150 <code>true</code> the bootstrap classpath will also be scanned for Jar
151 files. The default is <code>false</code>.</p>
152 </td></tr></table>
153
154 </blockquote></td></tr></table>
155
156
157</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>
158 <p>No components may be nested inside a <strong>Jar Scanner</strong> element.
159 </p>
160</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>
161 <p>No special features are associated with a <strong>Jar Scanner</strong>
162 element.</p>
163</blockquote></td></tr></table></td></tr><tr class="noPrint"><td width="20%" valign="top" nowrap class="noPrint"></td><td width="80%" valign="top" align="left"><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="comments_section" id="comments_section"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote><p class="notice"><strong>Notice: </strong>This comments section collects your suggestions
164 on improving documentation for Apache Tomcat.<br><br>
165 If you have trouble and need help, read
166 <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page
167 and ask your question on the tomcat-users
168 <a href="http://tomcat.apache.org/lists.html">mailing list</a>.
169 Do not ask such questions here. This is not a Q&amp;A section.<br><br>
170 The Apache Comments System is explained <a href="../comments.html">here</a>.
171 Comments may be removed by our moderators if they are either
172 implemented or considered invalid/off-topic.</p><script type="text/javascript"><!--//--><![CDATA[//><!--
173 var comments_shortname = 'tomcat';
174 var comments_identifier = 'http://tomcat.apache.org/tomcat-7.0-doc/config/jar-scanner.html';
175 (function(w, d) {
176 if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {
177 d.write('<div id="comments_thread"><\/div>');
178 var s = d.createElement('script');
179 s.type = 'text/javascript';
180 s.async = true;
181 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
182 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
183 }
184 else {
185 d.write('<div id="comments_thread"><strong>Comments are disabled for this page at the moment.<\/strong><\/div>');
186 }
187 })(window, document);
188 //--><!]]></script></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>
189 Copyright &copy; 1999-2017, Apache Software Foundation
190 </em></font></div></td></tr></table></body></html>