shell maven-2 ant artifactory

shell - ¿Cómo puedo encontrar la última versión de un artefacto de un repositorio de Maven?



maven-2 ant (2)

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 shell shell de Unix.

Así por ejemplo:

Tengo myArtifact.war y tiene las versiones 1.0, 1.1 y 2.0. Necesito la secuencia de comandos con el ID de grupo y el ID de artefacto correctos para recuperar la versión 2.0 de nuestro repositorio principal (actualmente utilizando artifactory).

¿Hay alguna manera fácil de hacer esto?


Puede analizar el archivo maven-metadata.xml para ver qué versiones están disponibles y qué versión es la versión "release". Ver esta respuesta sobre las versiones de plugin para más detalles.

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

Para actualizar la versión de lanzamiento, active el perfil de lanzamiento en el super POM de Maven cuando realice el despliegue de mvn . Puede hacer esto agregando -Prelease-profile o -DperformRelease = true a la línea de comando.

El perfil se activa de forma predeterminada en el objetivo de ejecución de los complementos de release de maven. Está controlado por la propiedad useReleaseProfile . Consulte la documentación del objetivo de release-perform para obtener más detalles.


Puede utilizar el objetivo del complemento de dependencia de Maven junto con LATEST como versión para su 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