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[]),
parentLoaderStrategypublic static final void setParentLoaderStrategy(java.lang.String parentLoaderStrategy)
setParentLoaderStrategy(ParentStrategy)Copyright © 2019. All rights reserved.