2011-12-15 105 views
1

在我的構建工件存儲庫中,我從分支和中繼都構建。解決常春藤依賴版本訂單

我測試了我的解決方案對分支有效,並抓取正確的項目。

但是,如果依賴關係也在主幹回購庫中,這不起作用。在這種情況下,它從主幹抓取依賴關係,而不是我的分支。

如果它不在分支中,我需要解析從中繼回購中拉出依賴項,但是如果依賴項在分支中,我需要分支版本,而不是中繼版本。

我如何在常春藤做到這一點?我更喜歡它只是找到分支版本,然後停止尋找它。這樣,如果它從分支中丟失,它會「通過」到中繼版本。

是否有可能我使用內部版本號的方式對於這種情況不正確?

下面是一個例子:

trunkbuild - 版本= 「1.0.4」 branchbuild - 版本= 「1.0-SNAPSHOT」

如果我的樹枝是 「1.1-SNAPSHOT」 呢?

我的分支中的代碼應該始終是AHEAD版本,而不是後面的樹幹。

回答

2

我認爲這是動態的修訂是你在找什麼:

<dependency org="mygroup" name="myartifact" revision="latest.release"/> 
<dependency org="mygroup" name="myartifact" revision="latest.integration"/> 

Maven倉庫支持兩種基本類型庫的:

  • 發佈
  • 快照

只有構建在我的樹幹分支上的工件纔會發佈到發佈存儲庫。

所以下面的常春藤解析器設置應該足以讓它工作,「latest.integration」解決快照回購中的工件。

<ivysettings> 
    <settings defaultResolver="default"/> 
    <resolvers> 
     <chain name="default"> 
      <ibiblio name="nexus-central" root="http://myhost/nexus/content/repositories/central" m2compatible="true"/> 
      <ibiblio name="nexus-releases" root="http://myhost/nexus/content/repositories/releases" m2compatible="true"/> 
      <ibiblio name="nexus-snapshots" root="http://myhost/nexus/content/repositories/snapshots" m2compatible="true"/> 
     </chain> 
    </resolvers> 
</ivysettings> 

注:

你可以你的資料庫管理器中創建一個存儲庫組並簡化常春藤設置到一個URL。

相關問題