Top Description Methods
org.jboss.modules.maven

public Interface MavenResolver

Known Direct Implementers
org.jboss.modules.maven.DefaultMavenResolver
Imports
java.io.File, .IOException

A resolution strategy for Maven artifacts.
Author
David M. Lloyd

Method Summary

Modifier and TypeMethod and Description
public static MavenResolver

Returns:

the maven resolver strategy (not null)
createDefaultResolver
()

Create a Maven artifact resolver using the default strategy.

public File

Returns:

the absolute path to the artifact, or null if none exists
resolveArtifact
(final ArtifactCoordinates
the non-null Maven coordinates object
coordinates
,
final String
a non-null string with the exact packaging type desired (e.g. pom, jar, etc.)
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.

public default File

Returns:

the absolute path to the artifact, or null if none exists
resolveJarArtifact
(final ArtifactCoordinates
the non-null Maven coordinates object
coordinates
)

Try to resolve a Maven JAR artifact.

Method Detail

createDefaultResolverback to summary
public static MavenResolver createDefaultResolver()

Create a Maven artifact resolver using the default strategy. The permissions of the class calling this method are captured and used for filesystem and network accesses. The default strategy uses the following system properties:

  • maven.repo.local - a list of directory names using the platform separator which reflect local Maven repository roots
  • remote.maven.repo - a comma-separated list of URIs which refer to remote Maven repositories, from which artifacts can be downloaded
  • maven.download.message - a boolean system property which controls the logging of messages to the console
Returns:MavenResolver

the maven resolver strategy (not null)

resolveArtifactback to summary
public File resolveArtifact(final ArtifactCoordinates coordinates, final String packaging) throws 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:ArtifactCoordinates

the non-null Maven coordinates object

packaging:String

a non-null string with the exact packaging type desired (e.g. pom, jar, etc.)

Returns:File

the absolute path to the artifact, or null if none exists

Exceptions
IOException:
if acquiring the artifact path failed for some reason
resolveJarArtifactback to summary
public default File resolveJarArtifact(final ArtifactCoordinates coordinates) throws IOException

Try to resolve a Maven JAR artifact. Calling this method is identical to calling resolveJarArtifact(qualifier, "jar").

Parameters
coordinates:ArtifactCoordinates

the non-null Maven coordinates object

Returns:File

the absolute path to the artifact, or null if none exists

Exceptions
IOException:
if acquiring the artifact path failed for some reason