public class JarFileClassLoader extends MultiParentClassLoader
Note: This implementation currently does not work reliably on windows, since the jar URL handler included with the Sun JavaVM holds a read lock on the JarFile, and this lock is not released when the jar url is dereferenced. To fix this a replacement for the jar url handler must be written.
| Constructor and Description |
|---|
JarFileClassLoader(java.lang.String name,
java.net.URL[] urls)
Creates a JarFileClassLoader that is a child of the system class loader.
|
JarFileClassLoader(java.lang.String name,
java.net.URL[] urls,
java.lang.ClassLoader parent)
Creates a JarFileClassLoader that is a child of the specified class loader.
|
JarFileClassLoader(java.lang.String name,
java.net.URL[] urls,
java.lang.ClassLoader[] parents)
Creates a named class loader as a child of the specified parents.
|
JarFileClassLoader(java.lang.String name,
java.net.URL[] urls,
java.lang.ClassLoader[] parents,
boolean inverseClassLoading,
java.util.Collection hiddenClasses,
java.util.Collection nonOverridableClasses) |
JarFileClassLoader(java.lang.String name,
java.net.URL[] urls,
java.lang.ClassLoader[] parents,
boolean inverseClassLoading,
java.lang.String[] hiddenClasses,
java.lang.String[] nonOverridableClasses) |
JarFileClassLoader(java.lang.String name,
java.net.URL[] urls,
java.lang.ClassLoader parent,
boolean inverseClassLoading,
java.lang.String[] hiddenClasses,
java.lang.String[] nonOverridableClasses) |
| Modifier and Type | Method and Description |
|---|---|
void |
addURL(java.net.URL url) |
protected void |
addURLs(java.net.URL[] urls)
Adds an array of urls to the end of this class loader.
|
void |
destroy()
Destroys the clasloader releasing all resources.
|
protected java.lang.Class |
findClass(java.lang.String className) |
protected java.lang.String |
findLibrary(java.lang.String libraryName) |
java.net.URL |
findResource(java.lang.String resourceName) |
java.util.Enumeration |
findResources(java.lang.String resourceName) |
java.net.URL[] |
getURLs() |
getParents, getResource, loadClass, toStringgetName, isDestroyedclose, definePackage, getPermissions, getResourceAsStream, newInstance, newInstanceclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic JarFileClassLoader(java.lang.String name, java.net.URL[] urls)
name - the name of this class loaderurls - a list of URLs from which classes and resources should be loadedpublic JarFileClassLoader(java.lang.String name, java.net.URL[] urls, java.lang.ClassLoader parent)
name - the name of this class loaderurls - a list of URLs from which classes and resources should be loadedparent - the parent of this class loaderpublic JarFileClassLoader(java.lang.String name, java.net.URL[] urls, java.lang.ClassLoader parent, boolean inverseClassLoading, java.lang.String[] hiddenClasses, java.lang.String[] nonOverridableClasses)
public JarFileClassLoader(java.lang.String name, java.net.URL[] urls, java.lang.ClassLoader[] parents)
name - the name of this class loaderurls - the urls from which this class loader will classes and resourcesparents - the parents of this class loaderpublic JarFileClassLoader(java.lang.String name, java.net.URL[] urls, java.lang.ClassLoader[] parents, boolean inverseClassLoading, java.util.Collection hiddenClasses, java.util.Collection nonOverridableClasses)
public JarFileClassLoader(java.lang.String name, java.net.URL[] urls, java.lang.ClassLoader[] parents, boolean inverseClassLoading, java.lang.String[] hiddenClasses, java.lang.String[] nonOverridableClasses)
public java.net.URL[] getURLs()
getURLs in class java.net.URLClassLoaderpublic void addURL(java.net.URL url)
addURL in class java.net.URLClassLoaderprotected void addURLs(java.net.URL[] urls)
urls - the URLs to addpublic void destroy()
destroy in interface DestroyableClassLoaderdestroy in class NamedClassLoaderpublic java.net.URL findResource(java.lang.String resourceName)
findResource in class java.net.URLClassLoaderpublic java.util.Enumeration findResources(java.lang.String resourceName) throws java.io.IOException
findResources in class MultiParentClassLoaderjava.io.IOExceptionprotected java.lang.String findLibrary(java.lang.String libraryName)
findLibrary in class java.lang.ClassLoaderprotected java.lang.Class findClass(java.lang.String className) throws java.lang.ClassNotFoundException
findClass in class java.net.URLClassLoaderjava.lang.ClassNotFoundExceptionCopyright © 2005-2012. All Rights Reserved.