You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅通过Maven命令从Nexus获取快照版本的时间戳与构建号

解决方案

完全可以通过原生Maven命令实现需求,不需要调用Nexus3 API,也不需要手动解析构件元数据,所有元数据处理逻辑Maven会内部自动完成。

1. 直接下载最新快照构件到本地

使用Maven官方的dependency插件的get目标,即可自动拉取Nexus上对应构件的最新时间戳版本:

mvn dependency:get -DremoteRepositories=<你的Nexus快照仓库公开地址> -DgroupId=<构件groupId> -DartifactId=<构件artifactId> -Dversion=<快照版本号,如1.0.0-SNAPSHOT> -Dpackaging=<包类型,如jar/war> -Dtransitive=false

参数说明:

  • 添加-Dtransitive=false是为了避免同时下载构件的依赖包,只拉取目标构件
  • 如果构件有分类器(如sources、javadoc等),额外添加-Dclassifier=<分类器值>参数即可
  • 需提前在Maven的settings.xml中配置好对应Nexus仓库的账号密码认证信息,否则会拉取失败

2. 获取带时间戳的完整快照版本号

下载完成后,执行以下命令即可输出对应构件的带时间戳的完整版本号,以及本地存储路径:

mvn dependency:properties -DgroupId=<构件groupId> -DartifactId=<构件artifactId> -Dversion=<快照版本号> -Dpackaging=<包类型>

执行后在输出日志中可以找到两个关键属性:

  • dependency.<groupId>.<artifactId>.version:带时间戳的完整快照版本,格式类似1.0.0-20240520.143221-3
  • dependency.<groupId>.<artifactId>.<packaging>:构件在本地Maven仓库中的绝对存储路径

3. 直接获取最新快照的远程下载地址(无需提前下载)

如果不需要把构件下载到本地,只需要获取远程下载链接,可以使用help插件的evaluate能力拼接地址:

mvn help:evaluate -Dexpression="artifact.remotePath" -DgroupId=<构件groupId> -DartifactId=<构件artifactId> -Dversion=<快照版本号> -Dpackaging=<包类型> -q -DforceStdout | xargs -I {} echo "<你的Nexus快照仓库地址>/{}"

执行后会直接输出对应最新快照版本的完整下载链接。


内容的提问来源于stack exchange,提问作者Ridae HAMDANI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:45:01