Class JarUrlClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
LaunchedClassLoader
URLClassLoader with optimized support for Jar URLs.- Since:
- 3.2.0
- Author:
- Phillip Webb, Andy Wilkinson
-
Constructor Summary
ConstructorsConstructorDescriptionJarUrlClassLoader(URL[] urls, ClassLoader parent) Create a newLaunchedClassLoaderinstance. -
Method Summary
Modifier and TypeMethodDescriptionvoidClear any caches.voidclose()protected final voiddefinePackageIfNecessary(String className) Define a package before afindClasscall is made.findResource(String name) findResources(String name) protected Class<?>Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, getPermissions, getResourceAsStream, getURLs, newInstance, newInstanceMethods inherited from class java.security.SecureClassLoader
defineClass, defineClassMethods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
JarUrlClassLoader
Create a newLaunchedClassLoaderinstance.- Parameters:
urls- the URLs from which to load classes and resourcesparent- the parent class loader for delegation
-
-
Method Details
-
findResource
- Overrides:
findResourcein classURLClassLoader
-
findResources
- Overrides:
findResourcesin classURLClassLoader- Throws:
IOException
-
loadClass
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
definePackageIfNecessary
Define a package before afindClasscall is made. This is necessary to ensure that the appropriate manifest for nested JARs is associated with the package.- Parameters:
className- the class name being found
-
clearCache
public void clearCache()Clear any caches. This method is called reflectively byClearCachesApplicationListener. -
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classURLClassLoader- Throws:
IOException
-