web.xml

Other

The Jar Scanner Component

Table of Contents

Introduction

The Jar Scanner element represents the component that is
used to scan the web application for JAR files and directories of class files.
It is typically used during web application start to identify configuration
files such as TLDs or web-fragment.xml files that must be processed as part of
the web application initialisation.

If a Jar Scanner element is not included, a default Jar Scanner configuration
will be created automatically, which is sufficient for most requirements.

Attributes

Common Attributes

All implementations of Jar Scanner
support the following attributes:

Attribute

Description

className

Java class name of the implementation to use. This class must
implement the org.apache.tomcat.JarScanner interface.
If not specified, the standard value (defined below) will be used.

Standard Implementation

The standard implementation of Jar Scanner is
org.apache.tomcat.util.scan.StandardJarScanner.
It supports the following additional attributes (in addition to the
common attributes listed above):

Attribute

Description

scanAllDirectories

If true, any directories found on the classpath will be
checked to see if they are expanded JAR files.
The default is false.

Tomcat determines if a directory is an expanded JAR file by looking
for a META-INF sub-directory. Only if the META-INF sub-directory exists,
the directory is assumed to be an expanded JAR file. Note that for scans
for matches to @HandlesTypes annotations, all directories
will be scanned irrespective of the presence or not of a META-INF
sub-directory.

scanAllFiles

If true, any files found on the classpath will be checked
to see if they are Jar files rather than relying on the file extension
being .jar. The default is false.

scanClassPath

If true, the full web application classpath, including
the shared and common classloaders and the system classpath (but not the
bootstrap classpath) will be scanned for Jar files in addition to the web
application. The default is true.

scanBootstrapClassPath

If scanClassPath is true and this is
true the bootstrap classpath will also be scanned for Jar
files. The default is false.

scanManifest

If true, the Manifest files of any JARs found will be
scanned for additional class path entries and those entries will be added
to the URLs to scan. The default is true.