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

如何在使用Kotlin DSL的Gradle多模块项目中复用依赖版本?

Gradle Kotlin DSL多模块项目统一管理依赖版本的实现方案

你可以根据项目规模和Gradle版本选择以下任意一种方案实现:


方法1:使用gradle.properties全局配置(最简便,适合中小项目)

  1. 在项目根目录新建/打开gradle.properties文件,添加版本声明:
jacksonVersion=2.10.4
  1. 根目录build.gradle.kts使用方式:
subprojects {
    // 提前声明变量,当前块内可复用
    val jacksonVersion: String by project

    dependencies {
        implementation("com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}")
    }
}
  1. 子模块build.gradle.kts使用方式:
// 文件开头声明变量
val jacksonVersion: String by project

dependencies {
    implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:${jacksonVersion}")
}

方法2:在根项目subprojects块中定义扩展属性

如果不想单独新增配置文件,可以直接在根构建脚本中统一声明:

  1. 修改根目录build.gradle.kts的subprojects块:
subprojects {
    // 定义扩展属性,所有子模块都可以读取
    extra["jacksonVersion"] = "2.10.4"

    // 根subprojects内的dependencies可以直接读取
    val jacksonVersion: String by extra
    dependencies {
        implementation("com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}")
    }
}
  1. 子模块build.gradle.kts使用方式:
val jacksonVersion: String by extra

dependencies {
    implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:${jacksonVersion}")
}

方法3:使用Gradle版本目录(Version Catalog,Gradle7.0+推荐,适合中大型项目)

这是Gradle官方推荐的版本管理方案,支持版本统一管理、依赖别名声明,还能跨项目复用。

  1. 在项目根目录的gradle文件夹下新建libs.versions.toml文件,添加如下内容:
[versions]
jackson = "2.10.4"

[libraries]
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" }
jackson-dataformat-csv = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-csv", version.ref = "jackson" }
  1. 所有模块(包括根项目subprojects块、子模块)直接通过别名引入依赖,不需要额外声明变量:
    根目录build.gradle.kts:
subprojects {
    dependencies {
        implementation(libs.jackson.databind)
    }
}

子模块build.gradle.kts:

dependencies {
    implementation(libs.jackson.dataformat.csv)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:48:02