【发布时间】:2021-12-10 05:43:09
【问题描述】:
我想确保任何传递依赖项(即我的依赖项的依赖项)都使用正确的版本,而不需要引入依赖项本身。
例如,我的项目依赖于依赖于 C 的 B(和其他依赖项)。我希望 C 始终是 v2。
我试过这段代码
constraints {
implementation('C') {
version {
require '2'
}
because 'I cant use previous versions'
}
}
我特别使用 约束,因为这似乎是 gradle 推荐的处理传递属性的方式。
但是,我的依赖报告看起来像:
运行时类路径
+--- B
| \--- C:2
+--- C:2
而没有上面的代码,它只是
+--- B
\--- C:1.X
意味着 C 库的 v2 也直接添加到了我的 runtimeClasspath 中。
是否有任何 gradle 代码仅确保我的传递依赖项设置为特定版本,而不是将库版本添加为直接依赖项?
谢谢
【问题讨论】:
标签: gradle dependencies constraints transitive-dependency