如何使用 ivy 和 ant 在 Nexus Sonatype Repository 中发布具有不同版本号的多个 jar 文件。
如何编写 ivy.xml 文件?
假设我有以下两个 jar 文件
- 寻址-1.0.jar 和
- castor-1.3.jar
我应该如何在 ivy.xml 中提供版本号,因为这里有两个不同的版本号(1.0 和 1.3),以便在 Nexus Sonatype 存储库中发布这些 jar 文件并使用适当的版本号。
感谢您
寻找这个问题的答复。请
如何使用 ivy 和 ant 在 Nexus Sonatype Repository 中发布具有不同版本号的多个 jar 文件。
如何编写 ivy.xml 文件?
假设我有以下两个 jar 文件
我应该如何在 ivy.xml 中提供版本号,因为这里有两个不同的版本号(1.0 和 1.3),以便在 Nexus Sonatype 存储库中发布这些 jar 文件并使用适当的版本号。
感谢您
寻找这个问题的答复。请
构建发布的所有文件都将与相同的发布版本相关联。
我怀疑您需要做的是上传依赖项?在这种情况下,最简单的方法是使用 Nexus GUI 或以下答案
ivy 文件描述了项目依赖关系以及项目生成和发布的文件。
因此,例如以下文件列出了 ivy 将上传到 Nexus 的两个文件,一个 jar 和一个 POM 文件:
<ivy-module version='2.0'>
<info organisation="com.myspotonontheweb" module="donaldduck"/>
<publications>
<artifact name="donaldduck" type="jar"/>
<artifact name="donaldduck" type="pom"/>
</publications>
<dependencies>
..
..
<dependencies/>
</ivy-module>
重点是......此模块发布的所有文件都将具有相同的版本号。这是由发布任务指定的(参见 pubrevision 属性):
<ivy:publish resolver="nexus" pubrevision="${publish.revision}" overwrite="true" publishivy="false" >
<artifacts pattern="${build.dir}/[artifact].[ext]"/>
</ivy:publish>
您示例中的文件看起来像Maven Central提供的文件。这意味着它们会被您的 Nexus 服务器自动代理,并且可以作为依赖项包含在您的项目中:
<dependencies>
<dependency org="net.sourceforge.addressing" name="addressing" rev="1.1.1"/>
<dependency org="org.codehaus.castor" name="castor" rev="1.2"/>
<dependencies/>