将几个罐子从神器中取出来作为包装

时间:2012-10-14 12:23:01

标签: maven ivy artifactory

我想了解如何管理这种情况,假设我有一个由三个罐子组成的第三方库(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)。

问题是:

  1. 这可能吗?
  2. 如何将三个罐子上传到神器中以实现此行为?
  3. 是否可以一次上传这些罐子?
  4. Artifactory替代解决方案也是可以接受的(例如Nexus或Archivia)。
  5. 注意:我没有构建best-lib我只有它的jar,而best-lib不是可以从公共maven2存储库下载的库。

    感谢。

1 个答案:

答案 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存储库)。