我一直在努力弄清这个问题。 我有一个gradle依赖树,它拉入了错误的版本:
> Task :myproj:dependencyInsight
io.fabric8:kubernetes-model:4.1.0 (selected by rule)
variant "runtime" [
org.gradle.status = release (not requested)
Requested attributes not found in the selected variant:
org.gradle.usage = java-api
]
io.fabric8:kubernetes-model:4.3.0 -> 4.1.0
\--- io.fabric8:kubernetes-client:4.3.0
\--- compileClasspath
我不希望它降级为4.1.0,但是对于我一生来说,这不能停止。 根本没有运气尝试过以下方法:
configurations.all {
resolutionStrategy {
force 'io.fabric8:kubernetes-model:4.3.0'
}
}
///////
dependencies {
compile ('io.fabric8:kubernetes-client:4.3.0')
{ exclude group: 'io.fabric8', module: 'kubernetes-model', version: '4.1.0' }
}
有人知道其他可能有用的解决方案吗? 谢谢
答案 0 :(得分:1)
我总是使用这种方式来强制使用 Gradle(6.0.1) 中的版本:
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")
}
}
}
}
效果很好,希望对您有所帮助。