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

如何在Gradle依赖配置中直接使用版本目录的版本号?

在Gradle 7.5中复用Version Catalog的版本号配置spring-test依赖

你完全可以直接在依赖块中引用Version Catalog里定义的版本号,不需要把spring-test添加到catalog的[libraries]块中,具体实现方式如下:

1. 确认Version Catalog的版本定义

首先确保你的libs.versions.toml已经在[versions]块中定义了Spring的版本:

[versions]
spring = "6.0.0-M5"

[libraries]
# 这里只维护生产环境的Spring依赖
spring-core = { group = "org.springframework", name = "spring-core", version.ref = "spring" }
spring-context = { group = "org.springframework", name = "spring-context", version.ref = "spring" }

[bundles]
spring = ["spring-core", "spring-context"]

2. 在构建脚本中直接引用版本号

Groovy DSL 写法

在build.gradle的依赖块中,直接指定spring-test的group和name,同时通过version.ref复用catalog里的Spring版本:

dependencies {
    // 生产依赖使用bundle
    implementation libs.bundles.spring

    // 测试依赖直接引用catalog中的Spring版本,无需在libraries中定义
    testImplementation 'org.springframework:spring-test', version: { ref 'spring' }
}

或者用更简洁的写法:

testImplementation group: 'org.springframework', name: 'spring-test', version: versions.spring

Kotlin DSL 写法

如果使用Kotlin DSL,在build.gradle.kts中可以这样配置:

dependencies {
    implementation(libs.bundles.spring)
    
    testImplementation("org.springframework", "spring-test") {
        version {
            strictly(versions.spring.get())
        }
    }
}

原理说明

Gradle会自动将Version Catalog中[versions]块的定义生成为versions对象(Groovy)或versions属性(Kotlin),你可以直接在依赖配置中引用这些版本值,无需将测试依赖纳入生产依赖的[libraries]块中,这样既避免了版本号重复编写,也能保持生产与测试依赖的目录分离。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:48:23