maven 父子模块保持相同
- 子模块的<parent>的<version>节点信息必须是明确的,所以需要和父节点保持相同(目前还没发现一改全改的方法)
- 子模块相互依赖采用<version>${project.parent.version}</version>使得依赖的版本能够同时更新
- 上传到仓库之前先在父节点下执行全局更新版本:versions:set -DnewVersion=1.1.0-RELEASE,mvn versions:commit可以删除backup文件或者按照下方方法去掉备份掉备份
- 然后再在父节点下执行clean source:jar deploy
- 不需要上传的子模块需要在子模块的pom中加入
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <configuration> <generateBackupPoms>false</generateBackupPoms> </configuration> </plugin>
另外一种取巧的方式:maven 3.5.0-beta-1版本之后为了增强CI功能,内置了3个属性,分别是`${revision}`, `${sha1}` , `${changelist}`,这样子在子模块中使用这几个占位符就不会报错,如下图:
那么我们就可以在父pom的properties中定义上面3个中的某个作为版本号管理(当然了,这3个占位符本意不是用来管理版本号的),所以说这里有取巧的意思。
这里是maven官方说明:https://maven.apache.org/maven-ci-friendly.html