java - Ivy 依赖版本的调用者优先级

标签 java dependencies ivy dependency-management

Possible Duplicate:
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 的新版本到目前为止,因为有一些重大更改,而且我没有时间调整我的代码。

但是存储库中存在的较新版本足以在我的 Ivy 解析中获得 2.5。 2.4 被逐出,因为两者都符合 libAbc 的版本限制.

我尝试过使用<dependency name="libAbc" rev="[2.4, 2.4]" /> ,但这仍然被驱逐以支持 2.5。

如何确保 2.4 版本得到解决,而不从存储库中删除 2.5 版本?是否可以优先考虑顶级 Ivy 文件中的设置,而不是依赖项 Ivy 文件中的设置,两者兼容?

最佳答案

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" />

关于java - Ivy 依赖版本的调用者优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385331/

相关文章:

java - 在 netbeans 中构建项目时 Ivy 错误

java - 内部 HashMap 工作 : How to implement hashCode in java

npm - 如何定义多个 npm peerDependencies

flutter - Dart/Flutter 中的依赖关系图?

java - 动态改变maven依赖

java - 将 ivy 依赖项指向本地文件?

java - 智能 : Specifying different groovyc version for source and test within same module

java - 从 Java 将值作为数组传递到数据库存储过程

java - 在 Java HttpsServer 中使用 Positive SSL Multi-Site Cert 时出现问题

JAVA初始化 block