Java Ivy 2.0-具有重复子元素的Ivy.xml
这是my ivy.xml的一个示例:Java Ivy 2.0-具有重复子元素的Ivy.xml,java,ant,ivy,Java,Ant,Ivy,这是my 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 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>
使用Ivy1.0,我可以下载这两个工件
当我将我的版本升级到ivy-2.0.0时,只有一个工件被下载
常春藤的环境中有什么我必须指定的吗?
我知道如果我这样写文件:
<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>
它起作用了
但是为什么第一个例子不呢?
有解决办法吗?第一个似乎是非法的。从常春藤的观点来看,您两次声明相同的依赖关系。当依赖项解析完成时,其中一个将被丢弃(ommited),因为假定它们相等,只应取一个。对我来说,这样做似乎不好 第二个更好,因为它的定义很清楚,看起来也不尴尬 就我个人而言,我认为最好在存储库中部署一个ivy.xml,它准确地定义了此模块发布的工件(请参阅,并且可用于特定的配置)。通过这种方式,您可以指定: 可能的解决办法: 我想可以用这个标签来设置。但是我不知道它是否有效
<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>
第一个似乎是非法的。从常春藤的角度来看,你声明了两次相同的依赖关系。当完成依赖关系解析时,其中一个被删除(ommited),因为假设它们相等,只应取一个。对我来说,这样做似乎是不好的做法 第二个更好,因为它的定义很清楚,看起来也不尴尬 就我个人而言,我认为最好在存储库中部署一个ivy.xml,它准确地定义了此模块发布的工件(请参阅,并且可用于特定的配置)。通过这种方式,您可以指定: 可能的解决办法: 我想可以用这个标签来设置。但是我不知道它是否有效
<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>