在Gradle中强制传递依赖版本

5
我正在尝试使用Gradle来转移我的Maven项目,以下是我的问题:
在Maven中,我们有,它为某些依赖项提供了一个通用(默认)版本(仅在子POM中使用此工件而没有版本号时才使用)。根据我所了解的,它还强制所有传递依赖关系使用某个版本。因此,如果我理解正确,即使我们的依赖项B具有对版本1.0的依赖关系C的依赖关系,我们仍将使用在中定义的C工件的版本(例如2.0)。这正确吗?
如果是这样,那么在Gradle中是否有一种类似的方法?我知道替换的常见方法是在其中一个构建脚本中创建Groovy映射。但是我如何强制传递依赖关系的版本?如果使用Gradle的“force”,它不会影响所有(而不仅是传递)依赖关系吗(这显然不是我想要的)?
2个回答

11

在Gradle中,强制使用某个版本(例如通过Configuration.resolutionStrategy.force)将对配置的所有依赖项(直接和传递的)都强制执行该版本。没有一流特性仅强制执行传递依赖项的版本。您是否有有效的用例?无论依赖树中出现次数多少以及位置如何,最终Gradle和Maven都会为依赖项选择单个版本。


不是的,我只是好奇在Gradle中是否有类似的功能。 - Mateusz Dymczyk

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接