2011-11-21 139 views
1

我們目前使用Maven(v2.2.1)來管理我們的Java項目,包括使用版本:準備和發佈:執行版本我們的版本。雖然這非常簡單,但我發現自己需要從以前的版本中生成構建工件 - 是否可以讓Maven簽出給定的(svn)標記並從該版本構建工件?從SVN標籤中構建Maven項目

即。我有在SVN項目如下標籤:

  • 項目1.0.0
  • 項目1.0.1
  • 項目1.1.0

我想建「項目1.0.1'(或實際上來自該項目的任何標籤)。

編輯:

爲了澄清什麼,我試圖做的,考慮release:preparerelease:perform目標。

:prepare:perform Maven的要求做SCM標籤應使用此版本,並隨後創建標籤,檢查了這個標籤源到一個單獨的目錄,以產生一種項目的潔淨室建造的。

我想要做的是實際執行這最後一部分,因此提供SCM標籤(在命令行上,而不是硬在POM編碼它,因爲那會不會是特別靈活),和Maven愉快地結束代碼並執行潔淨室構建,導致最終構建工件,與release:perform完全相同。

回答

0

您可能想要使用maven scm plugin來查看bootstrapping a project

通過定義一個包含您的scm配置和指定標籤的pom以及所需的maven目標,您可以簽出您選擇的標籤並構建它。

該鏈接包含一個示例配置。

+0

感謝您的建議,但我們已經在我們的pom中有部分,因爲我認爲正確使用發佈版本時需要這樣做:準備和發佈:執行。我正在尋找的是一種從其標籤重建特定工件的方法(如使用發佈過程創建的)。這不是我想要每次都做的事情,所以我真的不想把標籤包含在pom中。 – Crollster