我们有一个使用Gradle 4.5的旧应用程序。有人添加了没有显式版本的依赖项。
所以现在我有一些具有版本冲突的子依赖项。 有没有办法强制子依赖版本?
我尝试了下面的代码,但是它不起作用:
configurations.all {
resolutionStrategy {
force 'com.amazonaws:aws-java-sdk-dynamodb:1.11.390'
}
}
答案 0 :(得分:0)
您应该可以在此处使用strictly
或force
。阅读:
https://docs.gradle.org/current/userguide/dependency_downgrade_and_exclude.html
应该有帮助。手册或多或少准确地描述了您的情况。
<<评论后编辑>>
忘记了您正在使用gradle 4.5,我认为您没有strictly
和force
可用。
另一种方法是在定义引入错误版本的依赖项时排除传递性依赖项:
apply plugin: "java"
repositories {
mavenCentral()
}
dependencies {
compile('whatever-dependency:is-pulling-in-wrong-version:1.0.0') {
exclude group: 'com.amazonaws', module: 'aws-java-sdk-dynamodb'
}
compile 'com.amazonaws:aws-java-sdk-dynamodb:1.11.390'
}
这应该从另一个库的可传递树中排除dynamo依赖,并为您提供您明确要求的版本。