Class JarClassLoader

java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.miaixz.bus.core.lang.loader.classloader.JarClassLoader
All Implemented Interfaces:
Closeable, AutoCloseable

public class JarClassLoader extends URLClassLoader
外部Jar的类加载器
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • JarClassLoader

      public JarClassLoader()
      构造
    • JarClassLoader

      public JarClassLoader(URL[] urls)
      构造
      Parameters:
      urls - 被加载的URL
    • JarClassLoader

      public JarClassLoader(URL[] urls, ClassLoader classLoader)
      构造
      Parameters:
      urls - 被加载的URL
      classLoader - 类加载器
  • Method Details

    • load

      public static JarClassLoader load(File dir)
      加载Jar到ClassPath
      Parameters:
      dir - jar文件或所在目录
      Returns:
      JarClassLoader
    • loadJar

      public static JarClassLoader loadJar(File jarFile)
      加载Jar到ClassPath
      Parameters:
      jarFile - jar文件或所在目录
      Returns:
      JarClassLoader
    • loadJar

      public static void loadJar(URLClassLoader loader, File jarFile) throws InternalException
      加载Jar文件到指定loader中
      Parameters:
      loader - URLClassLoader
      jarFile - 被加载的jar
      Throws:
      InternalException - IO异常包装和执行异常
    • loadJarToSystemClassLoader

      public static URLClassLoader loadJarToSystemClassLoader(File jarFile)
      加载Jar文件到System ClassLoader中
      Parameters:
      jarFile - 被加载的jar
      Returns:
      System ClassLoader
    • addJar

      public JarClassLoader addJar(File jarFileOrDir)
      加载Jar文件,或者加载目录
      Parameters:
      jarFileOrDir - jar文件或者jar文件所在目录
      Returns:
      this
    • addURL

      public void addURL(URL url)
      Overrides:
      addURL in class URLClassLoader
    • addURL

      public JarClassLoader addURL(File dir)
      增加class所在目录或文件 如果为目录,此目录用于搜索class文件,如果为文件,需为jar文件
      Parameters:
      dir - 目录
      Returns:
      this