0

如何使用 ivy 和 ant 在 Nexus Sonatype Repository 中发布具有不同版本号的多个 jar 文件。

如何编写 ivy.xml 文件?

假设我有以下两个 jar 文件

  1. 寻址-1.0.jar 和
  2. castor-1.3.jar

我应该如何在 ivy.xml 中提供版本号,因为这里有两个不同的版本号(1.0 和 1.3),以便在 Nexus Sonatype 存储库中发布这些 jar 文件并使用适当的版本号。

感谢您

寻找这个问题的答复。请

4

1 回答 1

1

构建发布的所有文件都将与相同的发布版本相关联。

我怀疑您需要做的是上传依赖项?在这种情况下,最简单的方法是使用 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/>
于 2012-06-15T15:22:06.160 回答