How do I find the latest version of an artifact from a maven repository

20,394

Solution 1

You can parse the maven-metadata.xml to see what versions are available, and which version is the "release" version. See this answer about plugin versions for more details.

If you are using Nexus, you can use the REST API to query the repository. You can also use the REST client API to simplify your processing.

To update the release version, activate the release-profile in the Maven super POM when you do mvn deploy. You can do this by adding -Prelease-profile or -DperformRelease=true to the command line.

The profile is activate by default in the maven-release-plugin's perform goal. It is controlled by the useReleaseProfile property. See the release-perform goal's documentation for more details.

Solution 2

You can use the Maven Dependency Plugin goal get together with LATEST as version for your artifact:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get
    -DremoteRepositories=<URL_to_your_maven_repo>
    -Dartifact=<group_id>:<artifact_id>:LATEST
    -Dpackaging=jar
    -Ddest=<target_dir>/<artifact_name>.jar
Share:
20,394
Pablojim
Author by

Pablojim

Updated on May 31, 2020

Comments

  • Pablojim
    Pablojim almost 4 years

    As part of an automated deployment I need a script to download the latest version of an artifact from our internal repository.

    Ideally this script will be with ant or a unix shell script.

    So for example:

    I have myArtifact.war and it has versions 1.0 , 1.1 and 2.0 - I need the script given the correct group id and artifact id to retrieve version 2.0 from our maven repository (currently using artifactory).

    Is there any easy way to do this?