org.apache.struts2

## Class Main.MainClassLoader

- java.lang.Object
- - java.lang.ClassLoader
  - - java.security.SecureClassLoader
    - - java.net.URLClassLoader
      - - org.apache.struts2.Main.MainClassLoader

- All Implemented Interfaces:
    Closeable, AutoCloseable
  Enclosing class:
    Main

      public static class Main.MainClassLoader
      extends URLClassLoader

  Reverses the typical order of classloading to defer only to the parent if the current class loader can't be found. This is required to allow for the launcher to be embedded within struts.jar (otherwise the dependencies wouldn't be found by the system ClassLoader when invoking using "java -jar struts-core-VERSION.jar ...").

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MainClassLoader(URL[] urls)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Class<?>` | `loadClass(String name, boolean resolve)`

    - ### Methods inherited from class java.net.URLClassLoader

      `addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance`

    - ### Methods inherited from class java.security.SecureClassLoader

      `defineClass, defineClass`

    - ### Methods inherited from class java.lang.ClassLoader

      `clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MainClassLoader

          public MainClassLoader(URL[] urls)

  - ### Method Detail

    - #### loadClass

          public Class<?> loadClass(String name,
                                    boolean resolve)
                             throws ClassNotFoundException

      Overrides:
        `loadClass` in class `ClassLoader`
      Throws:
        `ClassNotFoundException`

Copyright © 2000–2023 Apache Software Foundation. All rights reserved.