Cómo puedo encontrar la última versión de un artefacto de un repositorio maven


Como parte de una implementación automatizada necesito un script para descargar la última versión de un artefacto de nuestro repositorio interno.

Idealmente este script será con ant o un script de shell unix.

Por ejemplo:

Tengo miartifacto.war y tiene las versiones 1.0, 1.1 y 2.0 - Necesito el script dado el id de grupo correcto y el id de artefacto para recuperar la versión 2.0 de nuestro repositorio maven (actualmente usando artifactory).

¿Hay alguna manera fácil de hacer ¿esto?

Author: Rich Seller, 2009-07-29

2 answers

Puede analizar los metadatos maven.xml para ver qué versiones están disponibles y qué versión es la versión" release". Vea esta respuesta acerca de versiones del plugin para más detalles.

Si está utilizando Nexus, puede usar la API REST para consultar el repositorio. También puede usar la API de cliente REST para simplificar su procesamiento.

Para actualizar la versión de lanzamiento, active el release-profile en el Maven super POM cuando lo haga mvn deploy. Puede hacer esto agregando -Prelease-profile o -DperformRelease=true a la línea de comandos.

El perfil se activa por defecto en el objetivo perform del maven-release-plugin. Está controlado por la propiedad useReleaseProfile . Consulte la documentación del objetivo release-perform para obtener más detalles.

 12
Author: Rich Seller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:03

Puedes usar el Plugin de Dependencia Maven goal get junto con LATEST como versión para tu artefacto:

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
 18
Author: Michael Tamm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-30 13:47:54