Como encontro a versão mais recente de um artefato de um repositório maven
-
20-09-2019 - |
Pergunta
Como parte de uma implantação automatizada, preciso de um script para baixar a versão mais recente de um artefato do nosso repositório interno.
Idealmente, este script estará com ANT ou um script de shell Unix.
Por exemplo:
Eu tenho myartifact.war e ele tem versões 1.0, 1.1 e 2.0 - preciso do script, dado o ID do grupo correto e o ID do artefato para recuperar a versão 2.0 do nosso repositório MAVEN (atualmente usando o Artifactory).
Existe alguma maneira fácil de fazer isso?
Solução
Você pode analisar o Maven-Metadata.xml para ver quais versões estão disponíveis e qual versão é a versão "Release". Veja esta resposta sobre Versões do plug -in para mais detalhes.
Se você estiver usando o Nexus, pode usar o Rest API Para consultar o repositório. Você também pode usar o API do cliente REST Para simplificar seu processamento.
Para atualizar a versão de lançamento, ative o perfil de liberação no Maven Super Pom quando você faz MVN Implante. Você pode fazer isso adicionando -Prelease-perfil ou -DperformRelease = true para a linha de comando.
O perfil é ativado por padrão na meta de execução da MAVEN-RELEASE-PLUGIN. É controlado pelo UserEleaseProfile propriedade. Veja o Liberação-Performa documentação do objetivo para obter mais detalhes.
Outras dicas
Você pode usar a meta do plug -in de dependência do Maven get
junto com LATEST
como versão do seu artefato:
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