常春藤冲突解决失败?

ivy conflict resolution fails?

我在使用 ivy 时遇到了一些难看的加载问题。其来源是加载 xml-apis,显然有人认为版本号变为 backwards 是个好主意。我需要的版本是 1.4.01。 Ivy 合理地(但在这种情况下是错误的)基于我拥有的一些其他依赖项为 2.0 驱逐了它。

显然,有一种方法可以让 ivy 使用特定版本。根据 docs, as well as a typical example here,语法如下所示:

<dependencies>
 ...
 <dependency ... />
 <dependency ... />
 <conflict org="..." module="..." rev="..." />

这对我来说失败了——使用 ivy 2.4,我收到错误

"ivy:retrieve] [xml parsing: ivy.xml:49:55: cvc-complex-type.2.4.a: Invalid content was found starting with element 'dependency'. One of '{conflict}' is expected. in file:/project/ivy.xml"

在ivy 2.0我得到

Invalid content was found starting with element 'conflict'. One of '{dependency, exclude}' is expected. in file:/project/ivy.xml

根据 ivy 文档,"conflict" 是在 2.0 版中添加的。有人对这里可能发生的事情有任何想法吗?

已找到答案,以防其他人遇到此问题 - 至少在这种情况下,冲突标记在 end 起作用,但不会与依赖元素混合 - 即

<dependencies>
  <dependency ../>
  <dependency ../>
  <conflict />
  <dependency ../>  <- conflict fails with a dependency after it.

此外,这适用于 2.4,但不适用于 2.0。