常春藤依赖版本的调用者优先级

时间:2013-01-17 18:04:38

标签: java dependencies ivy dependency-management

  

可能重复:
  A way to control dependencies ranges for upstream dependencies using Ivy?

我的Ivy资料库包含:

  • libAbc版本2.4和2.5 - 没有依赖
  • libXyz版本1.0 - 取决于libAbc版本[2.2, )

我的应用程序使用这些库,并具有以下Ivy依赖项:

    <dependency name="libAbc" rev="2.4" />
    <dependency name="libXyz" rev="1.0" />

我还不想升级到更新版本的libAbc,因为有一些重大更改,我没有时间调整我的代码。

但是,在我的常春藤解决方案中,存储库中新版本的存在足以获得2.5。 2.4被驱逐,因为两者都匹配libAbc的版本约束。

我尝试过使用<dependency name="libAbc" rev="[2.4, 2.4]" />,但仍然有人支持2.5。

如何在不从存储库中删除2.5的情况下确保解决2.4版本?是否可以优先考虑顶级常春藤文件中的设置,优先选择依赖项的常春藤文件中的设置,两者兼容?

1 个答案:

答案 0 :(得分:1)

dependency上有一个名为force的属性。来自this page上的“属性”部分:

a boolean to give an indication to conflict manager that this dependency should be forced to this revision (see conflicts manager)

以下强制依赖:

<dependency name="libAbc" rev="2.4" force="true" />