我想了解如何管理这种情况,假设我有一个由三个罐子组成的第三方库(best-lib)(a.jar,b.jar,c.jar),我将上传那些jars到个人Artifactory服务器,(best-lib)有两个版本1.0和2.0。
我想在ivy.xml文件中使用的是一个依赖于一次检索所有这些jar的依赖项,例如:
<dependencies>
<dependency org="mycompany" name="best-lib" rev="1.0" />
</dependencies>
此依赖项应添加版本1.0的所有三个jar(a,b和c)。
问题是:
注意:我没有构建best-lib我只有它的jar,而best-lib不是可以从公共maven2存储库下载的库。
感谢。
答案 0 :(得分:2)
发布“best-lib”模块时,请使用ivy.xml文件列出模块发布的3个jar:
<ivy-module version="2.0">
<info organisation="mycompany" module="best-lib"/>
<publications>
<artifact name="a" type="jar"/>
<artifact name="b" type="jar"/>
<artifact name="c" type="jar"/>
</publications>
..
..
当你为这个模块创建一个依赖项时,ivy会明白这个模块中有3个jar。
有关如何发布常春藤模块的示例,请参阅:
如果3个罐子已经在你的存储库中,你可以发布一个独立的常春藤模块,引用其他3个作为依赖项:
<ivy-module version="2.0">
<info organisation="mycompany" module="best-lib" rev="1.0"/>
<dependences>
<dependency org="mycompany" name="a" rev="1.0" />
<dependency org="mycompany" name="b" rev="1.0" />
<dependency org="mycompany" name="c" rev="1.0" />
</dependencies>
最后,您可能需要告诉我们您的Artifactory存储库使用的格式....我一直认为它是一个常春藤回购。如果它是Maven,那么概念是相同的,但显然服务器端我们将讨论pom.xml文件,而不是ivy.xml(Ivy支持Maven存储库)。