标签:INFO 13 1.0 parent 批量 版本号 修改 com
一、问题背景
我们的maven项目大多数都是多模块项目,更新parent的版本号,发现子模块的版本号没有更新,需要手动一个一个去更新,这样太麻烦,还容易遗漏。
有没有方便的方法呢?
二、解决办法
1、使用插件,在parent的pom中增加配置. 主要是设置generateBackupPoms为false不备份pom 。如果需要备份,可以忽略
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version> 2.7 </version>
<configuration>
<generateBackupPoms> false </generateBackupPoms>
</configuration>
</plugin>
</plugins>
</build>
|
2、 修改项目上层pom的版本号。执行命令 mvn -N versions:update-child-modules ,会看到如下提示,即批量修改成功
[INFO] Module: **-dao
[INFO] parent was com.**s:**: 1.0 . 13
[INFO] updated to com.**s:**: 1.0 . 14
[INFO] Module: **-manager
[INFO] parent was com.**s:**: 1.0 . 13
[INFO] updated to com.**s:**: 1.0 . 14
[INFO] Module: **-service
[INFO] parent was com.**s:**: 1.0 . 13
[INFO] updated to com.**s:**: 1.0 . 14
[INFO] Module: **-web
[INFO] parent was com.**s:**: 1.0 . 13
[INFO] updated to com.**s:**: 1.0 . 14
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.013 s
[INFO] Finished at: 2021 - 02 -01T18: 31 : 57 + 08 : 00
[INFO] ------------------------------------------------------------------------
|
3、查看各子模块的父版本号已经修改
PS :1、子模块的版本号可以和父模块保持一致, 使用 ${parent.version} 这样保持项目使用一致的版本号
举个栗子
<artifactId>**-web</artifactId>
<name>**-web</name>
<version>${parent.version}</version>
<description>controller</description>
|
2、 因为我们的scm-xx-base 和scm-xx-api 为减少依赖,不依赖父项目,所以需要单独设置版本号,这里可以在两个模块中分别设置一个变量${project.version} ,使用即可,这个整个项目一次修改版本号只需要修改3个地方即可
栗子
<groupId>com.**s</groupId>
<artifactId>**-base</artifactId>
<version>${project.version}</version>
<name>**-base</name>
<properties>
<java.version> 1.8 </java.version>
<project.build.sourceEncoding>UTF- 8 </project.build.sourceEncoding>
<project.version> 1.0 . 13 </project.version>
</properties>
|
标签:INFO,13,1.0,parent,批量,版本号,修改,com 来源: https://www.cnblogs.com/xd502djj/p/15855731.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。