Maven有个release插件,使用它完成发布的流程是:
mvn release:clean release:prepare -DpreparationGoals=clean
mvn release:perform -Dgoals="deploy -Dmaven.test.skip=true"
mvn release:clean
但当使用Git管理源码,并且存在子模块时,maven-release-plugin是无法正常工作的。此时我们只有手动干活。比如现在版本为4.1.0-SNAPSHOT,需要发布4.1.0,并将源码升级到4.2.0-SNAPSHOT,可按以下步骤工作:
1:将所有pom.xml的版本号由4.1.0-SNAPSHOT改成4.1.0:
sed -i 's/4.1.0-SNAPSHOT/4.1.0/g' `find | grep pom.xml`
2:所有的子模块,git reset --hard,忽略版本的修改;
3:提交修改
git commit -a -m "发布4.1.0"
git push
4:添加tag
git tag -a 4.1.0 -m "发布版本4.1.0"
git push --tags
5:发布4.1.0:
mvn -T3 clean deploy -Dmaven.test.skip=true
6:将所有pom.xml的版本号由4.1.0改成4.2.0-SNAPSHOT:
sed -i 's/4.1.0/4.2.0-SNAPSHOT/g' `find | grep pom.xml`
7:提交修改
git commit -a -m "准备4.2.0-SNAPSHOT"
git push