如何从maven存储库中找到最新版本的工件

Pab*_*jim 31 ant shell maven-2 artifactory

作为自动部署的一部分,我需要一个脚本从我们的内部存储库下载最新版本的工件.

理想情况下,此脚本将使用ant或unix shell脚本.

例如:

我有myArtifact.war,它有版本1.0,1.1和2.0 - 我需要给出正确的组ID和工件ID的脚本从我们的maven存储库中检索版本2.0(目前使用的是artifactory).

有没有简单的方法来做到这一点?

Mic*_*amm 20

您可以将Maven Dependency Plugin目标getLATEST工件的版本一起使用:

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
Run Code Online (Sandbox Code Playgroud)


Ric*_*ler 13

您可以解析maven-metadata.xml以查看可用的版本以及哪个版本是"发布"版本.有关更多详细信息,请参阅有关插件版本的答案.

如果您使用的是Nexus,则可以使用REST API查询存储库.您还可以使用REST客户端API来简化处理.

要更新发行版本,请在执行mvn deploy时激活Maven超级POM中发布配置文件.您可以通过在命令行中添加-Prelease-profile-DperformRelease = true来完成此操作.

默认情况下,配置文件在maven-release-plugin的执行目标中激活.它由useReleaseProfile属性控制.有关更多详细信息,请参阅发行版执行目标的文档.