2009-07-29 13 views
27

Come parte di una distribuzione automatizzata, ho bisogno di uno script per scaricare l'ultima versione di un artefatto dal nostro repository interno.Come trovare l'ultima versione di un artefatto da un repository di Maven

Idealmente questo script sarà con ant o uno script di shell Unix.

Così, per esempio:

ho myArtifact.war e ha le versioni 1.0, 1.1 e 2.0 - mi serve lo script dato l'id gruppo corretto e id artefatto per recuperare la versione 2.0 dal nostro repository Maven (attualmente in uso Artifactory).

C'è un modo semplice per farlo?

risposta

12

È possibile analizzare maven-metadata.xml per vedere quali versioni sono disponibili e quale versione è la versione di "rilascio". Vedi questa risposta su plugin versions per maggiori dettagli.

Se si utilizza Nexus, è possibile utilizzare REST API per interrogare il repository. È inoltre possibile utilizzare REST client API per semplificare l'elaborazione.

Per aggiornare la versione di rilascio, attivare l'release-profilo nel Maven super POM quando fate mvn distribuire. È possibile farlo aggiungendo -Profilo profilo o -DperformRelease = true alla riga di comando.

Il profilo è attivato per impostazione predefinita nell'obiettivo di esecuzione del plug-in maven-release. È controllato dalla proprietà useReleaseProfile. Vedi la documentazione dell'obiettivo release-perform per maggiori dettagli.

+0

+1 che è grande - solo una domanda per i miei manufatti come faccio a configurare quello che è il "rilascio" versione. Se uso il plugin di rilascio di Maven, lo farò automaticamente? – Pablojim

+0

Aggiornato la mia risposta –

17

È possibile utilizzare l'obiettivo Maven Dipendenza Plugin get insieme LATEST come la versione per il vostro artefatto:

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 –

Problemi correlati