Package org.apache.catalina.startup
Class ClassLoaderFactory
java.lang.Object
org.apache.catalina.startup.ClassLoaderFactory
Utility class for building class loaders for Catalina. The factory method requires the following parameters in order to build a new class loader (with suitable defaults in all cases):
- A set of directories containing unpacked classes (and resources) that should be included in the class loader's repositories.
- A set of directories containing classes and resources in JAR files. Each readable JAR file discovered in these directories will be added to the class loader's repositories.
ClassLoader
instance that should become the parent of the new class loader.
- Author:
- Craig R. McClanahan
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static enum
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ClassLoader
createClassLoader
(File[] unpacked, File[] packed, ClassLoader parent) Create and return a new class loader, based on the configuration defaults and the specified directory paths:static ClassLoader
createClassLoader
(List<ClassLoaderFactory.Repository> repositories, ClassLoader parent) Create and return a new class loader, based on the configuration defaults and the specified directory paths:
-
Constructor Details
-
ClassLoaderFactory
public ClassLoaderFactory()
-
-
Method Details
-
createClassLoader
public static ClassLoader createClassLoader(File[] unpacked, File[] packed, ClassLoader parent) throws Exception Create and return a new class loader, based on the configuration defaults and the specified directory paths:- Parameters:
unpacked
- Array of pathnames to unpacked directories that should be added to the repositories of the class loader, ornull
for no unpacked directories to be consideredpacked
- Array of pathnames to directories containing JAR files that should be added to the repositories of the class loader, ornull
for no directories of JAR files to be consideredparent
- Parent class loader for the new class loader, ornull
for the system class loader.- Returns:
- the new class loader
- Throws:
Exception
- if an error occurs constructing the class loader
-
createClassLoader
public static ClassLoader createClassLoader(List<ClassLoaderFactory.Repository> repositories, ClassLoader parent) throws Exception Create and return a new class loader, based on the configuration defaults and the specified directory paths:- Parameters:
repositories
- List of class directories, jar files, jar directories or URLS that should be added to the repositories of the class loader.parent
- Parent class loader for the new class loader, ornull
for the system class loader.- Returns:
- the new class loader
- Throws:
Exception
- if an error occurs constructing the class loader
-