2013-06-21 60 views
1

我們有多個多模塊項目設置即:Maven的發佈插件多模塊項目 - 更新版本的依賴

> Proj1 
>  parent 
>  mod1 
>  mod2 
>  Proj2 
>  parent 
>  mod1 
>  mod2 

... 

Proj2取決於Proj1。這樣一來,爲的pom.xml的Proj2部分將

>  <dependencies> 
>  .... 
>  <dependency> 
>  <groupId>${project.groupId}</groupId> 
>  <artifactId>ABCXYZ</artifactId> 
>  <version>${Proj1.version}</version> 
>  </dependency> 
>  </dependencies> 
>  <properties> 
>  <Proj1.version>1.0.0.RELEASE</Proj1.version> 
>  </properties> 

現在的問題是,是否有可能使用的Maven插件發佈對我來說,自動化這個Proj2釋放,使得Proj1新發布的拾取並替換爲<Proj1.version>標籤。當我嘗試了常規的mvn release:prepare-with-pom時,我得到了依賴關係更新的提示,但是當我輸入新版本時,它將其替換爲<version>標記,這是不需要的。

感謝任何輸入

回答

2

你可能有一個看向versions-maven-pluginupdate-properties目標。 我有一段時間沒有使用它,它工作正常。

您發佈的工作流程是:

  • 發佈Proj1
  • 更新Proj2<Proj1.version>使用的版本,Maven的插件
  • 提交Proj2
  • 發佈Proj2
+0

謝謝Gillaume。我有這個念頭。我覺得似乎有點麻煩和風險。我希望Maven發佈插件有一個這樣做的方式,因爲它似乎是一個常見的問題需要解決。 – user1111871

+0

另外,我意識到,即使我這樣做,釋放插件上的prepare-with-pom目標仍然會提示我使用Proj1的版本,並替換依賴項的''標記,從而爲其提供硬編碼值。所以這個問題依然存在我猜我們是否可以在maven release plugin中使用上面的設置。 – user1111871

+0

我不知道如何設置你的''標籤,但是如果一切正確配置,你就不必使用'release:prepare-with-pom'目標。只需運行'mvn -B版本:準備發佈:執行'來發佈一個項目(可能有一些選項取決於您的設置)。 '-B'用於不提示版本的批處理模式。 –

相關問題