【发布时间】:2018-04-05 07:01:28
【问题描述】:
是否可以在 Android/Gradle 项目中仅包含特定模块的传递依赖项,而不包含该模块本身?
为了说明,假设有一个模块 X 对 A、B 和 C 具有传递依赖关系。我希望我的项目在类路径上有A、B 和C,但没有X。理想情况下,我想做的是利用X 已经知道我想要什么依赖项这一事实,这样我就不必在我的项目中明确声明对A、B 和C 的依赖项。
假设,我想要的大概是这样的:
implementation(group: 'com.x', name: 'Xlib', version: '1.0', ...){
transitive true //include 'A', 'B', and 'C'
exclude group: 'com.x', module: 'Xlib' //exclude 'X'
}
...如“将X 指定为依赖项,获取其传递依赖项,并忽略来自X 的所有顶级包”。
有没有办法做到这一点,或者是否有必要将A、B 和C 显式声明为依赖项?
【问题讨论】:
-
好问题。我的用例是:我有一个包含在影子 jar 中的依赖项,但我不想在影子 jar 中包含传递依赖项,我希望将它们指定为影子 jar 的依赖项。
标签: android gradle dependencies