Q:一個maven項目,有多個子module,在頂級父pom.xml里設置<version>1.0.0-SHAPSHOT</version>,在子pom.xml里都用了
父pom:
<groupId>com.fp</groupId>
<artifactId>test</artifactId>
<version>1.0.0.SNAPSHOT</version>
<packaging>pom</packaging>
各子pom:
<parent>
<artifactId>test</artifactId>
<groupId>com.fp</groupId>
<version>1.0.0-SHAPSHOT</version>
</parent>
<packaging>jar</packaging>
如果有10個子pom來這樣定義父pom.一般修改了父Pom.手動去改子pom,那累呀。
A:
1.在父pom下面,執行這個命令就行了,設置新版本號,將修改所有模塊pom.xml中<version>內容
mvn versions:set -DnewVersion=1.0.3-SNAPSHOP
父pom: <groupId>com.fp</groupId> <artifactId>test</artifactId> <version>1.0.3.SNAPSHOT</version> <packaging>pom</packaging> 各子pom: <parent> <artifactId>test</artifactId> <groupId>com.fp</groupId> <version>1.0.3-SHAPSHOT</version> </parent> <packaging>jar</packaging>
2.接下來修改所有被依賴的版本
mvn versions:update-child-modules
3.當項目開發到需要換成正式版本時,執行:mvn release:prepare
父pom: <groupId>com.fp</groupId> <artifactId>test</artifactId> <version>1.0.3.RELEASE</version> <packaging>pom</packaging> 各子pom: <parent> <artifactId>test</artifactId> <groupId>com.fp</groupId> <version>1.0.3-RELEASE</version> </parent> <packaging>jar</packaging>
4.如果發布正式版本:mvn release:preform
說明:
官方地址:
http://www.mojohaus.org/versions-maven-plugin/
http://www.mojohaus.org/versions-maven-plugin/set-mojo.html