2012-06-15 75 views
0

如何使用ivy和ant在Nexus Sonatype Repository中發佈具有不同版本號的多個jar文件。常春藤在Nexus中使用不同版本發佈多個jar數量

如何編寫ivy.xml文件?

假設我有以下兩個jar文件

  1. 尋址1.0.jar和
  2. 蓖麻1.3.jar

我應該如何提供的ivy.xml版本號有兩個不同的版本號(1.0和1.3)在Nexus Sonatype Repository中發佈這些jar文件,版本號爲 。

感謝你

尋找回復這個問題。 請

回答

1

構建發佈的所有文件都將與相同的發行版本相關聯。

我懷疑你需要做的是上傳依賴關係嗎?在這種情況下,最簡單的方法是使用Nexus GUI或以下的答案

說明

ivy文件描述了這兩個項目的依賴,並生成和發佈的文件項目。

因此,例如下列文件列出了兩份文件,這將常春藤上載到的Nexus,一個罐子,一個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/> 
+0

因此,有沒有其他的方式來發布使用常春藤和螞蟻有不同的版本號的jar? –

+0

你錯過了這一點。由常青藤模塊或Maven POM發佈的工件通常具有相同的修訂版號。你可以使用兩個不同的常青藤文件來實現你想要達到的目標,但是你爲了獲得小小的收穫做出了很多努力。按照我的鏈接來加載Maven工件,以獲取Maven的最簡單方法(使用命令行) –