Gradle,不同版本的直接和传递依赖

标签 gradle build.gradle gradle-dependencies

假设 application模块 build.gradle

dependencies {
    implementation "com.example.http:core:5.1"
    implementation "com.example.common:network:1.0"
}
http核心第三方项目buid.gradle
dependencies {
    implementation "com.example.common:network:2.0"
}
(所以 http 的 .pom 内部有 network 2.0 的依赖项)
在这种情况下,gradle 将选择 network application 的 2.0 版模块和 http模块。
但是如何让 gradle 使用 network 的两个版本? : 1.0 直接 application和 2.0 作为传递 http依赖?

最佳答案

有一种解决冲突依赖关系的技术,称为 。阴影 jar 。
方便的是,有一个 awesome gradle plugin用于构建这些。

关于Gradle,不同版本的直接和传递依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64271330/

相关文章:

gradle - 在Android gradle构建中,当输出目录不完全相同时,如何使它考虑不是UP-TO-DATE的任务?

Android Studio,不匹配支持库版本错误,但不知道它在哪里指定

gradle - 如何将gradle的功能扩展到特定项目?

java - 有没有一种标准的方法来将依赖版本声明为Gradle中的变量,然后可以在依赖 block 中引用它?

Android Studio - 无法通知项目评估监听器错误

gradle - 如何使用Gradle将Jar中的所有文件包含到 war 中

plugins - 从 gradle 扩展访问配置闭包

android - gradle Android studio : "Cannot invoke method get() on null object" 错误

java - 在签名配置中写密码安全吗?

testing - 不要运行测试任务 - gradle clean build -x test