2013-02-11 98 views
1

我正在使用maven 3.0.4與cvs和jenkins組合。使用maven-release-plugin更新版本

我有一個多模塊項目與一個主要的POM和一些模塊。

對於正確的版本,我在jenkins中設置了一些環境變量。

的第一步是,我在詹金斯預構建步驟執行的Maven的目標:

--batch-mode release:update-versions -DdevelopmentVersion=${ACTUAL_VERSION}${BUILD_NUMBER}-SNAPSHOT 

現在Maven是更新我的父POM的版本,並從模塊到連接父母pom。這是所有工作正常,但我有一些內部依賴關係的模塊之間沒有更新。我如何強制maven更新它們呢?

實施例:

--parent - 模塊1 - 單詞數

在模塊2有一個依賴於模塊1,例如

<dependency> 
    <groupId>xyz</groupId> 
    <artifactId>module2</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
</dependency> 

發佈之後:update-versions父pom和模塊被更新,但依賴關係現在仍舊引用舊版本。有什麼辦法可以更新這個依賴版本嗎?

回答

7

最簡單,最好的解決方法(在我看來)是使用:

<dependency> 
    <groupId>xyz</groupId> 
    <artifactId>module2</artifactId> 
    <version>${project.version}</version> 
</dependency> 

而不是硬編碼的版本。也許你可以使用以下內容:

<dependency> 
    <groupId>${project.groupId}</groupId> 
    <artifactId>module2</artifactId> 
    <version>${project.version}</version> 
</dependency>