gpt4 book ai didi

java - ivy 2.0 - ivy.xml 具有重复的子元素

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:26 25 4
gpt4 key购买 nike

这是我的 ivy.xml 的示例:

<dependency org="org1" name="module1" rev="1.0.0"> 
<artifact name="lib1-1.0.0" type="jar" />
</dependency>
<dependency org="org1" name="module1" rev="1.0.0">
<artifact name="lib2-1.0.0" type="jar" />
</dependency>

使用 ivy 1.0,我可以下载这两个工件

当我将版本升级到 ivy-2.0.0 时,仅下载其中一个工件。

Ivy 设置中是否有我必须指定的内容?我知道如果我这样写文件:

<dependency org="org1" name="module1" rev="1.0.0"> 
<artifact name="lib1-1.0.0" type="jar" />
<artifact name="lib2-1.0.0" type="jar" />
</dependency>

它有效!

但是为什么不是第一个例子呢?有解决办法吗?

最佳答案

第一个似乎是非法的。从ivys的角度来看,您声明了相同的依赖关系两次。当依赖性解析完成时,其中之一将被删除(省略),因为假设它们是相等的并且只应采用一个。对我来说,这样做似乎是不好的做法。

第二个要好得多,因为它的定义很清晰,而且看起来并不尴尬。

就我个人而言,我认为最好在存储库中部署一个 ivy.xml,它准确定义了该模块发布的工件(请参阅 publication tag 并可用于某个conf。这样您就可以指定:

可能的解决方法:

我想可以使用 conflict标签设置 conflict manager to all 。但不知道能不能成功。

<dependencies>
<dependency org="org1" name="module1" rev="1.0.0">
<artifact name="lib1-1.0.0" type="jar" />
</dependency>
<dependency org="org1" name="module1" rev="1.0.0">
<artifact name="lib2-1.0.0" type="jar" />
</dependency>
<conflict org="org1" module="module1" manager="all"/>
</dependencies>

关于java - ivy 2.0 - ivy.xml 具有重复的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com