Class MavenArtifactUtil


  • public final class MavenArtifactUtil
    extends java.lang.Object
    Helper class to resolve a maven artifact.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static java.lang.Object artifactLock  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static ResourceLoader createMavenArtifactLoader​(java.lang.String name)
      A utility method to create a Maven artifact resource loader for the given artifact name.
      static ResourceLoader createMavenArtifactLoader​(MavenResolver mavenResolver, java.lang.String name)
      A utility method to create a Maven artifact resource loader for the given artifact name.
      (package private) static <T> T doIo​(java.security.PrivilegedExceptionAction<T> action)  
      (package private) static <T> T doIo​(java.security.PrivilegedExceptionAction<T> action, java.security.AccessControlContext context)  
      (package private) static void downloadFile​(java.lang.String artifact, java.lang.String src, java.io.File dest)  
      static java.io.File resolveArtifact​(ArtifactCoordinates coordinates, java.lang.String packaging)
      Tries to find a maven jar artifact from the system property "maven.repo.local" This property is a list of platform separated directory names.
      static java.io.File resolveJarArtifact​(ArtifactCoordinates coordinates)
      Try to resolve a Maven JAR artifact.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • artifactLock

        static final java.lang.Object artifactLock
    • Constructor Detail

      • MavenArtifactUtil

        public MavenArtifactUtil()
    • Method Detail

      • resolveJarArtifact

        public static java.io.File resolveJarArtifact​(ArtifactCoordinates coordinates)
                                               throws java.io.IOException
        Try to resolve a Maven JAR artifact. Calling this method is identical to calling resolveJarArtifact(qualifier, "jar").
        Parameters:
        coordinates - the non-null Maven coordinates object
        Returns:
        the absolute path to the artifact, or null if none exists
        Throws:
        java.io.IOException - if acquiring the artifact path failed for some reason
      • resolveArtifact

        public static java.io.File resolveArtifact​(ArtifactCoordinates coordinates,
                                                   java.lang.String packaging)
                                            throws java.io.IOException
        Tries to find a maven jar artifact from the system property "maven.repo.local" This property is a list of platform separated directory names. If not specified, then it looks in ${user.home}/.m2/repository by default.

        If it can't find it in local paths, then will try to download from a remote repository from the system property "remote.maven.repo". There is no default remote repository. It will download both the pom and jar and put it into the first directory listed in "maven.repo.local" (or the default directory). This directory will be created if it doesn't exist.

        Finally, if you do not want a message to console, then set the system property "maven.download.message" to "false".

        Parameters:
        coordinates - the non-null Maven coordinates object
        packaging - a non-null string with the exact packaging type desired (e.g. pom, jar, etc.)
        Returns:
        the absolute path to the artifact, or null if none exists
        Throws:
        java.io.IOException - if acquiring the artifact path failed for some reason
      • downloadFile

        static void downloadFile​(java.lang.String artifact,
                                 java.lang.String src,
                                 java.io.File dest)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • createMavenArtifactLoader

        public static ResourceLoader createMavenArtifactLoader​(java.lang.String name)
                                                        throws java.io.IOException
        A utility method to create a Maven artifact resource loader for the given artifact name.
        Parameters:
        name - the artifact name
        Returns:
        the resource loader
        Throws:
        java.io.IOException - if the artifact could not be resolved
      • createMavenArtifactLoader

        public static ResourceLoader createMavenArtifactLoader​(MavenResolver mavenResolver,
                                                               java.lang.String name)
                                                        throws java.io.IOException
        A utility method to create a Maven artifact resource loader for the given artifact name.
        Parameters:
        mavenResolver - the Maven resolver to use (must not be null)
        name - the artifact name
        Returns:
        the resource loader
        Throws:
        java.io.IOException - if the artifact could not be resolved
      • doIo

        static <T> T doIo​(java.security.PrivilegedExceptionAction<T> action)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • doIo

        static <T> T doIo​(java.security.PrivilegedExceptionAction<T> action,
                          java.security.AccessControlContext context)
                   throws java.io.IOException
        Throws:
        java.io.IOException