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

如何将Maven的versions:use-latest-versions配置迁移至Gradle

实现方案

1. 引入版本管理插件

Gradle生态中可使用com.github.ben-manes.versions插件实现依赖版本检查能力,该插件支持自定义版本过滤规则,完全可匹配你原Maven配置的需求。
在build.gradle中引入插件:

plugins {
    id "com.github.ben-manes.versions" version "0.51.0"
}

2. 配置版本过滤规则

添加如下配置实现仅替换版本限定符、不修改主/次/增量版本号的效果:

// 匹配x.y.z-xxx格式的版本号,提取前三位数字版本段
def versionSegmentPattern = ~/^(\d+)\.(\d+)\.(\d+)(?:-.+)?$/

tasks.named("dependencyUpdates").configure {
    rejectVersionIf {
        def currentMatch = versionSegmentPattern.matcher(currentVersion)
        def candidateMatch = versionSegmentPattern.matcher(candidate.version)
        
        // 版本格式不匹配、或者前三位版本号不一致的候选版本直接拒绝
        if (!currentMatch.matches() || !candidateMatch.matches()) {
            return true
        }
        def (_, currMajor, currMinor, currIncremental) = currentMatch[0]
        def (_, candMajor, candMinor, candIncremental) = candidateMatch[0]
        
        return currMajor != candMajor || currMinor != candMinor || currIncremental != candIncremental
    }
    // 禁止使用快照版本,和原Maven配置allowSnapshots=false效果一致
    rejectSnapshots = true
}

3. 执行版本更新

执行命令./gradlew dependencyUpdates即可生成符合规则的可升级依赖列表,仅会列出前三位版本号完全一致、仅限定符更新的候选版本。
如果需要自动替换build.gradle中的版本号,可搭配gradle-use-latest-versions-plugin使用,上述版本过滤规则会自动生效,不会出现跨版本升级的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:45:02