我决定从 Dependency Management Plugin 迁移至Gradle built-in BOM import support .自 Gradle 内置 BOM 导入支持 has better performance但
我遇到了这个问题:
我找不到 dependency 的替代品和 dependencySet在原生 Gradle 中:
dependencyManagement {
dependencies {
dependency("org.springframework:spring-core:4.0.3.RELEASE")
}
}
//or
dependencyManagement {
dependencies {
dependencySet(group:'org.slf4j', version: '1.7.7') {
entry 'slf4j-api'
entry 'slf4j-simple'
}
}
}
然后我可以使用没有版本的依赖
dependencies {
compile 'org.springframework:spring-core'
}
我怎样才能得到幼稚 Gradle 中的相同行为 ?我的意思是:我想定义一个版本 一次正如我在使用 Dependency Management Plugin 时所做的那样
最佳答案
下面的解决方案有助于避免版本复制粘贴。但是它与依赖管理插件不同。
对于 Gradle Kotlin Dsl:
您可以创建buildSrc
当您可以放置任何常量时,您可以使用自己的代码。
算法:
buildSrc/src/main/kotlin
buildSrc/src/main/kotlin/Versions.kt
内容:object Versions {
const val junitVersion = "5.5.5" // just example
}
buildSrc/build.gradle.kts
内容:plugins {
`kotlin-dsl`
}
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter:${Versions.junitVersion}")
}
对于 Gradle Groovy:
gradle.properties
okhttp_version=4.2.0
的语法将版本放在那里dependencies {
compile group: 'com.squareup.okhttp3', name: 'okhttp', version: okhttp_version
}
关于gradle - 如何为整个 Gradle 多模块项目只定义一次依赖版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60454712/