public class ClassLoaderUtils extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ClassLoaderUtils.ParentStrategy
parent 为null 时策略defaultParentLoader 使用default parent class loader,参见URLClassLoader.newInstance(URL[]) threadContextLoader 使用当前线程的Thread Context ClassLoader作为parent,参见Thread.getContextClassLoader() currentClassLoader 使用当前类(ClassLoaderUtils )的class loader |
Constructor and Description |
---|
ClassLoaderUtils() |
Modifier and Type | Method and Description |
---|---|
static java.net.URLClassLoader |
makeURLClassLoader(java.lang.ClassLoader parent,
boolean recursive,
java.util.Collection<java.lang.String> libdirs,
java.util.Collection<java.lang.String> classpath) |
static java.net.URLClassLoader |
makeURLClassLoader(java.lang.ClassLoader parent,
boolean recursive,
java.lang.String... libdirs) |
static java.net.URLClassLoader |
makeURLClassLoader(java.lang.ClassLoader parent,
boolean recursive,
java.lang.String[] libdirs,
java.lang.String[] classpath)
根据
libdirs 提供的lib路径和classpath 创建URLClassLoader 实例如果所有的参数中都没有找URL(jar或class 文件夹),则抛出异常 |
static java.net.URLClassLoader |
makeURLClassLoader(java.lang.ClassLoader parent,
java.lang.String... classpath) |
static void |
setParentLoaderStrategy(ClassLoaderUtils.ParentStrategy parentLoaderStrategy) |
static void |
setParentLoaderStrategy(java.lang.String parentLoaderStrategy) |
public ClassLoaderUtils()
public static final java.net.URLClassLoader makeURLClassLoader(java.lang.ClassLoader parent, java.lang.String... classpath)
public static final java.net.URLClassLoader makeURLClassLoader(java.lang.ClassLoader parent, boolean recursive, java.lang.String... libdirs)
public static final java.net.URLClassLoader makeURLClassLoader(java.lang.ClassLoader parent, boolean recursive, java.lang.String[] libdirs, java.lang.String[] classpath)
libdirs
提供的lib路径和classpath
创建URLClassLoader
实例parent
- 指定父类加载器,为null时根据parentLoaderStrategy
决定parentrecursive
- 指示是否递归搜索文件夹,对 libdirs
有效,see also
toJarURLs(File, boolean)
libdirs
- path列表,path为jar包或jar所在文件夹(such as 'lib')classpath
- jar包或class文件夹路径URLClassLoader#newInstance(URL[],ClassLoader)}
,
Thread#getContextClassLoader()}
public static final java.net.URLClassLoader makeURLClassLoader(java.lang.ClassLoader parent, boolean recursive, java.util.Collection<java.lang.String> libdirs, java.util.Collection<java.lang.String> classpath)
public static final void setParentLoaderStrategy(ClassLoaderUtils.ParentStrategy parentLoaderStrategy)
parentLoaderStrategy
- if null,ClassLoaderUtils.ParentStrategy.currentClassLoader
insteadmakeURLClassLoader(ClassLoader, boolean, String[], String[])
,
parentLoaderStrategy
public static final void setParentLoaderStrategy(java.lang.String parentLoaderStrategy)
setParentLoaderStrategy(ParentStrategy)
Copyright © 2019. All rights reserved.