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