Class ClassLoaderResolver

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class ClassLoaderResolver
    extends Object
    implements Closeable
    A resolver that transforms a Maven coordinate into a class loader that can view the dependencies implied by this coordinate.
    • Constructor Detail

      • ClassLoaderResolver

        public ClassLoaderResolver​(org.apache.maven.plugin.logging.Log log,
                                   org.eclipse.aether.RepositorySystem repositorySystem,
                                   org.eclipse.aether.RepositorySystemSession repositorySystemSession,
                                   List<org.eclipse.aether.repository.RemoteRepository> remoteRepositories)
        Creates a new class loader resolver.
        Parameters:
        log - The Maven log dispatcher.
        repositorySystem - The repository system to use.
        repositorySystemSession - The repository system session to use.
        remoteRepositories - A list of remote repositories available.
    • Method Detail

      • resolve

        public ClassLoader resolve​(MavenCoordinate mavenCoordinate)
                            throws org.apache.maven.plugin.MojoFailureException,
                                   org.apache.maven.plugin.MojoExecutionException
        Resolves a Maven coordinate to a class loader that can load all of the coordinates classes. If a Maven coordinate was resolved previously, the previously created class loader is returned.
        Parameters:
        mavenCoordinate - The Maven coordinate to resolve.
        Returns:
        A class loader that references all of the class loader's dependencies and which is a child of this class's class loader.
        Throws:
        org.apache.maven.plugin.MojoExecutionException - If the user configuration results in an error.
        org.apache.maven.plugin.MojoFailureException - If the plugin application raises an error.