org.apache.tools.ant.util

Class SplitClassLoader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.util.EventListener, BuildListener, SubBuildListener


    public final class SplitClassLoader
    extends AntClassLoader
    Specialized classloader for tasks that need finer grained control over which classes are to be loaded via Ant's classloader and which should not even if they are available.
    • Constructor Detail

      • SplitClassLoader

        public SplitClassLoader(java.lang.ClassLoader parent,
                                Path path,
                                Project project,
                                java.lang.String[] splitClasses)
        Parameters:
        parent - ClassLoader
        path - Path
        project - Project
        splitClasses - classes contained herein will not be loaded via Ant's classloader
    • Method Detail

      • loadClass

        protected java.lang.Class loadClass(java.lang.String classname,
                                            boolean resolve)
                                     throws java.lang.ClassNotFoundException
        Description copied from class: AntClassLoader
        Loads a class with this class loader. This class attempts to load the class in an order determined by whether or not the class matches the system/loader package lists, with the loader package list taking priority. If the classloader is in isolated mode, failure to load the class in this loader will result in a ClassNotFoundException.
        Overrides:
        loadClass in class AntClassLoader
        Parameters:
        classname - The name of the class to be loaded. Must not be null.
        resolve - true if all classes upon which this class depends are to be loaded.
        Returns:
        the required Class object
        Throws:
        java.lang.ClassNotFoundException - if the requested class does not exist on the system classpath (when not in isolated mode) or this loader's classpath.