ExtensionClassLoader createClassLoader()

in src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java [266:281]


    ExtensionClassLoader createClassLoader(final Set<Artifact> artifacts, final ExtensionClassLoader parent, final Artifact narArtifact) throws MojoExecutionException {
        final Set<URL> urls = new HashSet<>();
        for (final Artifact artifact : artifacts) {
            final Set<URL> artifactUrls = toURLs(artifact);
            urls.addAll(artifactUrls);
        }

        getLog().debug("Creating class loader with following dependencies: " + urls);

        final URL[] urlArray = urls.toArray(new URL[0]);
        if (parent == null) {
            return new ExtensionClassLoader(urlArray, narArtifact, artifacts);
        } else {
            return new ExtensionClassLoader(urlArray, parent, narArtifact, artifacts);
        }
    }