像Maven read()
标记中那样进行依赖管理的最佳方法是什么?
我在网上做了一些研究,发现有一些选择:
Gradle配置解决方案强制版本的策略
<dependencyManagement>
答案 0 :(得分:1)
使用Gradle的本机支持导入BOM表:
从文档here
dependencies {
// import a BOM
implementation(platform("org.springframework.boot:spring-boot-dependencies:2.1.7.RELEASE"))
// define dependencies without versions
implementation("com.google.code.gson:gson")
implementation("dom4j:dom4j")
// import a BOM for test dependencies
testImplementation(platform("org.junit:junit-bom:5.5.1"))
// define dependency without versions
testImplementation("org.junit.jupiter:junit-jupiter")
}
我建议观看Managing Dependencies for Spring Projects with Gradle by Jenn Strater and Andy Wilkinson,以了解为何Spring的依赖管理插件存在以及插件本身和Gradle的发展方向。
答案 1 :(得分:0)
我用这种方式强制版本:
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'redis.clients') {
details.useVersion "3.0.1"
}
if (details.requested.group == 'com.github.jsqlparser') {
details.useVersion "2.1"
}
if (details.requested.group == 'com.squareup.okhttp3') {
details.useVersion "4.0.0"
}
if (details.requested.group == 'com.github.pagehelper' && !details.requested.name.contains('spring-boot')) {
details.useVersion("5.1.11")
}
}
}
}
希望对您有所帮助。