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

Jenkins:如何通过readMavenPom或mvn help:evaluate获取pom.xml特定依赖版本

获取Maven特定依赖版本的实用方法

一、通过readMavenPom返回的Model对象获取

不管依赖是直接在dependencies节点还是dependencyManagement里,都可以通过遍历集合匹配坐标拿到版本:

  1. 直接依赖的情况:
Model model = readMavenPom(new File("pom.xml"));
for (Dependency dep : model.getDependencies()) {
    if ("你的依赖groupId".equals(dep.getGroupId()) && "你的依赖artifactId".equals(dep.getArtifactId())) {
        String targetVersion = dep.getVersion();
        // 拿到版本号做后续处理
        break;
    }
}
  1. 依赖管理中的情况:
if (model.getDependencyManagement() != null) {
    for (Dependency dep : model.getDependencyManagement().getDependencies()) {
        if ("你的依赖groupId".equals(dep.getGroupId()) && "你的依赖artifactId".equals(dep.getArtifactId())) {
            String targetVersion = dep.getVersion();
            break;
        }
    }
}

二、用mvn help:evaluate精准获取

之前没效果是因为没指定正确的表达式,直接用依赖坐标作为表达式即可,执行命令:

mvn help:evaluate -Dexpression=dependency.[groupId]:[artifactId]:version -q -DforceStdout

把[groupId]和[artifactId]替换成你要查的依赖的实际坐标,比如查Spring Core的版本就写成:

mvn help:evaluate -Dexpression=dependency.org.springframework:spring-core:version -q -DforceStdout
  • -q参数用来过滤掉无关日志,-DforceStdout确保只输出版本号,方便直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:32:33