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

如何通过API、Maven命令或curl获取Nexus上已上传POM构件的所有版本?

嘿,我来给你梳理三种实用的方法,帮你快速查询Nexus仓库中某个构件的所有已上传版本,每种方法都有具体操作示例,你可以根据自己的习惯选择:

方法一:调用Nexus REST API + curl命令

Nexus 3提供了REST API来查询仓库内容,这是最直接的方式。你只需要构造对应的API请求,用curl发起调用即可:

curl -X GET "http://your-nexus-url/service/rest/v1/search?repository=your-repo-name&group=com.your.group&name=your-artifact-id"
  • 替换your-nexus-url为你的Nexus服务器地址(比如http://nexus.example.com:8081)
  • 替换your-repo-name为目标仓库的名称(比如maven-releases或maven-snapshots)
  • 替换com.your.group和your-artifact-id为构件的groupId和artifactId

返回的是JSON格式数据,你可以在items数组里找到每个版本的version字段。如果想直接提取干净的版本列表,可以结合jq工具(需要提前安装)过滤结果:

curl -s "http://your-nexus-url/service/rest/v1/search?repository=your-repo-name&group=com.your.group&name=your-artifact-id" | jq -r '.items[].version' | sort -u

这个命令会自动去重并排序,输出整洁的版本列表。

方法二:使用Maven命令查询

如果你平时习惯用Maven操作,也可以直接通过Maven命令来查询构件的所有可用版本。首先确保你的settings.xml已经配置了Nexus仓库的访问权限(或者在命令里直接指定仓库地址)。

方式1:用versions插件列出所有版本

执行以下命令,替换对应的groupId和artifactId:

mvn versions:display-dependency-versions -Ddependency=com.your.group:your-artifact-id -DremoteRepositories=http://your-nexus-url/repository/your-repo-name/

命令执行后,控制台会输出该构件的所有可用版本,包括发布版和快照版(如果仓库包含的话)。

方式2:通过Latest参数推导版本列表(可选)

如果你想快速确认最新版本,同时顺带查看所有可用版本,可以用dependency插件的get命令,加上LATEST参数:

mvn org.apache.maven.plugins:maven-dependency-plugin:3.6.1:get -Dartifact=com.your.group:your-artifact-id:LATEST -DremoteRepositories=http://your-nexus-url/repository/your-repo-name/ -Dtransitive=false

执行过程中,Maven会列出该构件所有可选的版本,你能从中看到完整的版本列表。

额外小技巧:Nexus Web UI快速确认

虽然你问的是API、curl或Maven命令,但如果偶尔需要快速核对,也可以直接登录Nexus的Web UI:

  • 进入目标仓库,搜索对应的groupId和artifactId
  • 进入构件详情页后,就能直观看到所有已上传的版本列表

内容的提问来源于stack exchange,提问作者Víctor DC

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 20:57:52