2012-03-15 100 views
0

我使用mvn版本:set -DnewVersion = x.x.x更改當前項目版本。它僅更改元素"<version>"下的版本。它不會更改具有相關lib版本的元素"<properties>"下的版本。我不得不每次都手動做這件事。無論如何,我可以在1步中更改所有版本?maven - 設置當前項目版本

+0

你能解釋'下標籤'是什麼意思嗎? – 2012-03-15 17:19:08

+0

您是在談論一個多模塊構建還是您的意思是特定的依賴關係? – khmarbaise 2012-03-15 18:02:43

+0

由於某種原因,我的問題沒有正確發佈。我將在此再次輸入... 我使用mvn版本:set -DnewVersion = x.x.x來更改當前的項目版本。它僅更改元素「」下的版本。它不會更改具有相關lib版本的元素「」下的版本。我不得不每次都手動做這件事。無論如何,我可以在1步中更改所有版本? – user1164061 2012-03-15 19:53:47

回答

2

我想我知道你在說什麼。你是否試圖在相關的依賴塊中碰撞版本號?我不認爲有一種內置的方法可以做到這一點,但是這裏有一個例如用於例如整個組Id:

xmlstarlet ed -P -L -N p='http://maven.apache.org/POM/4.0.0' -u "/p:project/p:dependencies/p:dependency[p:groupId = 'my.group']/p:version" -v $VERSION $POM_FILE 

我在一個循環中使用它爲許多POM中的許多依賴項批量設置版本。

+0

嗨dacc,謝謝你的回覆。我嘗試在我的centos中安裝xmlstarlet,但目前還沒有成功:-(。非常少的文檔和幫助啓動這個步驟 – user1164061 2012-03-15 19:56:49

+0

這很奇怪。只是沒有問題:sudo yum在CentOS 5.5上安裝xmlstarlet。 – spieden 2012-03-15 21:06:38