Package org.apache.catalina.startup
Class ClassLoaderFactory
- java.lang.Object
-
- org.apache.catalina.startup.ClassLoaderFactory
-
public final class ClassLoaderFactory extends java.lang.Object
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
Nested Classes Modifier and Type Class Description static class
ClassLoaderFactory.Repository
static class
ClassLoaderFactory.RepositoryType
-
Constructor Summary
Constructors Constructor Description ClassLoaderFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.ClassLoader
createClassLoader(java.io.File[] unpacked, java.io.File[] packed, java.lang.ClassLoader parent)
Create and return a new class loader, based on the configuration defaults and the specified directory paths:static java.lang.ClassLoader
createClassLoader(java.util.List<ClassLoaderFactory.Repository> repositories, java.lang.ClassLoader parent)
Create and return a new class loader, based on the configuration defaults and the specified directory paths:
-
-
-
Method Detail
-
createClassLoader
public static java.lang.ClassLoader createClassLoader(java.io.File[] unpacked, java.io.File[] packed, java.lang.ClassLoader parent) throws java.lang.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:
java.lang.Exception
- if an error occurs constructing the class loader
-
createClassLoader
public static java.lang.ClassLoader createClassLoader(java.util.List<ClassLoaderFactory.Repository> repositories, java.lang.ClassLoader parent) throws java.lang.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:
java.lang.Exception
- if an error occurs constructing the class loader
-
-