public ClassLoader createClassLoader()

in src/main/java/org/apache/sling/feature/launcher/impl/Bootstrap.java [282:308]


    public ClassLoader createClassLoader(final Installation installation, Launcher launcher) throws Exception {
        final List<URL> list = new ArrayList<>();

        list.addAll(installation.getAppJars());

        list.add(Bootstrap.class.getProtectionDomain().getCodeSource().getLocation());


        // create a paranoid class loader, loading from parent last
        final Launcher.LauncherClassLoader cl = launcher.createClassLoader();

        final URL[] urls = list.toArray(new URL[list.size()]);

        if (this.logger.isDebugEnabled()) {
            this.logger.debug("App classpath: ");
            for (int i = 0; i < urls.length; i++) {
                this.logger.debug(" - {}", urls[i]);
            }
        }
        for (URL u : urls) {
            cl.addURL(u);
        }

        Thread.currentThread().setContextClassLoader(cl);

        return cl;
    }