在快速开发 Hadoop 应用程序时,需要主 Hadoop 项目的许多子模块。
为了强制使用特定版本,作为自己 Hadoop 作业的作者,我很想为传递库更改 Hadoop 的版本。
IE。为所有 hadoop-*
依赖项和传递依赖项 我想将它们设置为版本 foo.bar.baz
如何使用 Gradle 实现这一点而无需手动指定每个模块?
最佳答案
您需要编写自定义依赖关系解析规则。例如:
configurations.all {
resolutionStrategy.eachDependency {
if (requested.group == "org.apache.hadoop") {
useVersion("3.2.1")
because("some description why this version is needed.")
}
}
}
见 https://docs.gradle.org/current/userguide/resolution_rules.html
上述方法的替代方法是创建/发布您自己的自定义 platform或“ Material list ”。
关于gradle 前缀排除依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61205896/