我有一个多模块级项目与Kotlin DSL作为构建文件。根build.gradle.kts的内部有dependencies部分,用于根和subprojects,并有自己的dependencies。我想要创建一个变量,它可以保留某些依赖项的版本,并且可以在build.gradle.kts中的所有模块中使用。
根build.gradle.kts如下所示:
buildscript {
// ...
}
plugins {
// ...
}
subprojects {
// repositories, plugins, tasks, etc.
dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind:2.10.4")
}子模块common-module/build.gradle.kts
dependencies {
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.4")
}我想声明一个变量,并将这些依赖项的版本赋值为值,并且只在模块上重用它。像implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:${jacksonVersion}")这样的东西。
我怎么能这么做?
发布于 2021-09-17 14:34:20
解决这个问题的最现代、最安全的解决方案是使用版本目录。
settings.gradle或settings.gradle.kts中enableFeaturePreview("VERSION_CATALOGS")gradle/libs.versions.toml[versions]
jackson = "2.12.5"
[libraries]
jackson-databind = { module = "com.fasterxml.jackson:jackson-databind", version.ref = "jackson" }
jackson-dataformat-csv = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-csv", version.ref = "jackson" }implementation(libs.jackson.dataformat.csv)这样的依赖项。https://stackoverflow.com/questions/68938868
复制相似问题