2013-05-28 29 views
0

假設我有一堆maven模塊,每個模塊都有自己的trunk/branches/tags。圖片如下所示。具有自己的SCM佈局的Maven multimodule - 如何構建標籤?

portal_root 
    +project1 
     +tags 
     +branches 
     +trunk 
    +project2 
     . 
     . 
     . 
    +parent 
    pom.xml 

在回答如果按照結構建議multi module maven project with parent pom and svn layout我會在同一水平作爲子項目的父項目,並通過相對路徑引用它。不過,我認爲這大大地使發佈政策複雜化。

考慮到源從trunk被複制到tags/v * /,父級的相對路徑不再有效:compare ../parent/ with ../../parent。此外,由於舊父項引用了中繼,因此標記的子項沒有有效的父項。這引出了一個問題:使用自己的SCM過程來構建模塊的標記源代碼的最佳實踐是什麼?

回答

0

不是使用相對路徑,而是考慮在公司Nexus存儲庫上構建和分發父項目(或者如果團隊規模較小,請在每個開發人員本地maven回購站上進行本地化)。

然後使用標準的maven座標來引用這個父項,maven會嘗試解決它,因爲它是一個依賴項。

但是這意味着當您對父級進行更改時,必須更新所有下游工件,以使更改生效