2009-07-29 16 views
27

Como parte de una implementación automatizada, necesito un script para descargar la última versión de un artefacto de nuestro repositorio interno.¿Cómo puedo encontrar la última versión de un artefacto de un repositorio de maven?

Idealmente, esta secuencia de comandos será con ant o un script de shell de Unix.

Así, por ejemplo:

tengo myArtifact.war y tiene versiones 1.0, 1.1 y 2.0 - Necesito el guión dado el id de grupo correcto y Identificación del artefacto para recuperar la versión 2.0 de nuestro repositorio de Maven (en la actualidad el uso de artefactorio).

¿Hay alguna manera fácil de hacerlo?

Respuesta

12

Puede analizar el maven-metadata.xml para ver qué versiones están disponibles y qué versión es la versión de "versión". Vea esta respuesta acerca de plugin versions para más detalles.

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

Para actualizar la versión de lanzamiento, activar la liberación perfil en el Maven super POM cuando haces mvn desplegar. Puede hacerlo agregando -Prelease-profile o -DperformRelease = true en la línea de comandos.

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

+0

+1 Eso es grande - sólo una pregunta para mis propios artefactos cómo configuro lo que es la "liberación" versión. Si uso el complemento de lanzamiento Maven, ¿esto lo hará automáticamente? – Pablojim

+0

Actualizado mi respuesta –

17

Puede utilizar el objetivo de Maven Dependencia Plugin get junto con LATEST como la 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 
+1

http://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html –

Cuestiones relacionadas