当我发布我的工件(一些API JAR)时,我如何指定版本?是修订属性吗?我想拥有client-lib-1.0.jar
<ivy-module>
<info organisation="the.org" module="client-lib" revision ="1.0">
<info>
</ivy-module>
首先,您需要包含一个出版物部分,告诉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>
其次(以及您问题的答案)在发布时间时已决定已发布的IVY文件的修订号。它由发布任务的特殊" pubrevision"属性设置。常春藤将在要发布的IVY文件中列出的文件中搜索工件模式。
<ivy:publish resolver="my-deploy" pubrevision="1.0">
<artifacts pattern="${build.dir}/[artifact](-[classifier]).[ext]"/>
</ivy:publish>
在引擎盖下,正在生成一个新的常春藤文件,并与模块的文件一起上传。
如何将文件存储在存储库中是Ivy解析器决定的问题。
您可能会遇到的一个问题是,如今,很少有人主持一个常春藤存储库。相反,Maven是最常见的标准。
以下详细的详细示例描述了此过程的工作方式,包括杂乱的POM生成内容(原因Maven不了解Ivy文件):
- 如何使用Ivy和Nexus出版3rdparty文物
- 将Ivy.xml转换为pom.xml