gradle 前缀排除依赖项

标签 gradle dependencies transitive-dependency

在快速开发 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/

相关文章:

maven - 如果它们来 self parent 的其他子模块,我应该依赖 Maven 中的传递依赖吗?

java - 关于 slf4j 和 logback-classic 传递依赖的权威答案

android - 获取 gradle 构建的 aapt2 参数?

java - 带有gradle的NetBeans中的JVM参数

javascript - WordPress 插件开发 w/JS 库依赖项?带源管理的最佳长期方法?

plugins - m2eclipse : Maven dependencies as JAR's not projects

java - AAR 传递依赖 Google 位置服务

java - 如何在运行时读取通过-javaagent传递的值?

ant - Gradle:通过从属性文件中查找 token 来替换 token

Maven:如何导入 pom 类型的依赖项?