Ant + Ivy Jar版

时间:2017-09-15 15:20:54

标签: ant ivy

当我发布我的工件(一些api jar)时,我该如何指定版本? 是修订属性吗?我想拥有client-lib-1.0.jar

<ivy-module>
<info organisation="the.org" module="client-lib" revision ="1.0">
<info>
</ivy-module>

1 个答案:

答案 0 :(得分:1)

首先,您需要包含一个出版物部分,告诉常春藤您将作为模块发布的工件。 Ivy非常灵活,能够发布具有多个文件和/或类型的模块。

 <publications>
    <artifact name="client-lib" type="jar"/>
    <artifact name="client-lib" type="jar" e:classifier="source"/>
    <artifact name="client-lib" type="jat" e:classifier="javadocs"/>    
 </publications>

其次(以及您的问题的答案)已发布的常春藤文件的修订号在发布时决定。它由特殊的&#34; pubrevision&#34;设定。发布任务的属性。 Ivy将搜索工件模式以查找要发布的常春藤文件中列出的文件。

<ivy:publish resolver="my-deploy" pubrevision="1.0">
    <artifacts pattern="${build.dir}/[artifact](-[classifier]).[ext]"/>
</ivy:publish>

在引擎盖下,正在生成一个新的常春藤文件,并与模块的文件一起上传。

文件如何存储在存储库中是由常春藤resolver决定的。

您可能遇到的一个问题是,如今很少有人会托管Ivy资源库。相反,Maven是最常见的标准。

以下详细的详细示例描述了此过程如何工作,包括凌乱的POM生成内容(因为Maven不理解常春藤文件):