public class ClassLoaderUtils
extends java.lang.Object
It has come out of many months of frustrating use of multiple application servers at Atlassian, please don't change things unless you're sure they're not going to break in one server or another!
| Constructor and Description |
|---|
ClassLoaderUtils() |
| Modifier and Type | Method and Description |
|---|---|
static java.net.URL |
getResource(java.lang.String resourceName,
java.lang.Class<?> callingClass)
Load a given resource.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName,
java.lang.Class<?> callingClass)
This is a convenience method to load a resource as a stream.
|
static java.util.Enumeration<java.net.URL> |
getResources(java.lang.String resourceName,
java.lang.Class<?> callingClass)
returns all found resources as java.net.URLs.
|
static <T> java.lang.Class<T> |
loadClass(java.lang.String className,
java.lang.Class<?> callingClass)
Load a class with a given name.
|
static void |
printClassLoader()
Prints the current classloader hierarchy - useful for debugging.
|
static void |
printClassLoader(java.lang.ClassLoader cl)
Prints the classloader hierarchy from a given classloader - useful for debugging.
|
public static <T> java.lang.Class<T> loadClass(java.lang.String className,
java.lang.Class<?> callingClass)
throws java.lang.ClassNotFoundException
It will try to load the class in the following order:
Thread.currentThread().getContextClassLoader()
Class.forName(java.lang.String)
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
className - The name of the class to loadcallingClass - The Class object of the calling objectjava.lang.ClassNotFoundException - If the class cannot be found anywhere.public static java.net.URL getResource(java.lang.String resourceName,
java.lang.Class<?> callingClass)
This method will try to load the resource using the following methods (in order):
Thread.currentThread().getContextClassLoader()
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
resourceName - The name of the resource to loadcallingClass - The Class object of the calling objectpublic static java.util.Enumeration<java.net.URL> getResources(java.lang.String resourceName,
java.lang.Class<?> callingClass)
throws java.io.IOException
This method will try to load the resource using the following methods (in order):
Thread.currentThread().getContextClassLoader()
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
resourceName - The name of the resource to loadcallingClass - The Class object of the calling objectjava.io.IOExceptionpublic static java.io.InputStream getResourceAsStream(java.lang.String resourceName,
java.lang.Class<?> callingClass)
resourceName - The name of the resource to loadcallingClass - The Class object of the calling objectpublic static void printClassLoader()
public static void printClassLoader(java.lang.ClassLoader cl)
Copyright © 2013 Atlassian. All Rights Reserved.