public class ClassLoaderUtils
extends java.lang.Object
URLClassLoader的工具类$java_home/lib/tools.jartoJarURLs(String...)| 限定符和类型 | 类和说明 |
|---|---|
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 |
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
TOOLS_JAR |
| 构造器和说明 |
|---|
ClassLoaderUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
getJdkToolsJar()
返回 jdk/lib/tools.jar路径
|
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 static final java.lang.String TOOLS_JAR
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实例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)
public static java.lang.String getJdkToolsJar()
Copyright © 2023. All Rights Reserved.