在常春藤,如何选择最新版本的传递依赖?

时间:2013-01-09 14:59:46

标签: ivy conflicting-libraries

有没有办法告诉Ivy在传递依赖关系中更喜欢特定库的最新版本,而不将传递依赖关系转换为直接依赖关系?

在检索构建所需的工件之后,我最终得到了同一个库的两个版本,两者都是传递依赖。我已经运行了一个报告,所以我知道这些库的来源,但我不希望最终在我的ivy.xml文件中引用传递库。

常春藤手册指出“如果没有定义特定的冲突管理器,则默认冲突管理器用于所有模块。当前的默认冲突管理器是'最新修订'冲突管理器”。显然,这不适用于传递依赖。

有没有办法实现我想要的而不直接引用传递库?

1 个答案:

答案 0 :(得分:0)

传递依赖项是依赖项的依赖项,因此在引用同一个库的一个或多个版本时可能会发生冲突。这就是冲突管理器功能的用武之地。默认情况下,常春藤将选择最新版本,假设大多数库都是向后兼容的。如果您查看report task生成的报告,您会看到标记为“已驱逐”的其他版本。

您的问题似乎提出了另一种运作模式?也许一个例子会有所帮助。