maven 父子模块保持相同

  1. 子模块的<parent>的<version>节点信息必须是明确的,所以需要和父节点保持相同(目前还没发现一改全改的方法)
  2. 子模块相互依赖采用<version>${project.parent.version}</version>使得依赖的版本能够同时更新
  3. 上传到仓库之前先在父节点下执行全局更新版本:versions:set -DnewVersion=1.1.0-RELEASE,mvn versions:commit可以删除backup文件或者按照下方方法去掉备份掉备份
  4. 然后再在父节点下执行clean source:jar deploy
  5. 不需要上传的子模块需要在子模块的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

posted @ 2020-01-13 16:37  神一样的存在  阅读(1460)  评论(0编辑  收藏  举报