2017-05-25 142 views
0

我正在嘗試將具有ServiceMix(FuseESB)的產品的版本更改爲集成模塊的過程自動化。更新多個ServiceMix POM中的Maven依賴項版本

改變各POM的版本是使用Maven插件的版本很容易:

mvn versions:set -DnewVersion=NEW_VERSION -DgenerateBackupPoms=false 

不過,我現在用的是此產品的其它模塊的依賴更新的版本中掙扎。特別是,在許多服務單位POM文件有這樣的依賴關係(其中OLD_VERSION是一樣的,舊的版本號):

<dependencies> 
    <dependency> 
    <groupId>com.company.department.product.module1</groupId> 
    <artifactId>artifact1</artifactId> 
    <version>OLD_VERSION</version> 
    </dependency> 
    <dependency> 
    <groupId>com.company.department.product.module1</groupId> 
    <artifactId>artifact2</artifactId> 
    <version>OLD_VERSION</version> 
    </dependency> 
    <dependency> 
    <groupId>com.company.department.product.module2</groupId> 
    <artifactId>artifact3</artifactId> 
    <version>OLD_VERSION</version> 
    </dependency> 
</dependencies> 

而且我想設置在這些依賴的版本號爲‘NEW_VERSION’。

你們有什麼想法嗎?

+0

「set」的目標是爲了改變項目的版本,但不是爲了依賴關係......你能展示一個你的項目的例子嗎?除此之外,您是否在dependencyManagement部分定義了版本?你爲此使用父母嗎? – khmarbaise

+0

使用工具在文本文件(pom.xml文件)中搜索/替換也非常容易使用,您可以在這裏搜索模式' X'和替換爲' NEW'。 –

回答

0

剛剛發現這個非常簡單的解決方案 - 用$ {project.version}替換依賴項的版本 - 適用於我,因爲在我的項目中,依賴項具有與項目本身相同的版本(它們都是同一產品的工件)。

相關問題