记录码农的点滴。
序言
maven多模块项目,在项目需要发布新版本的时候,需要做版本更新管理。通常一个项目包含若干个子模块,若手动一个一个修改累死了。在这里记录一下使用maven统一管理版本号的方式。
项目结构
方式1:使用Maven Project Version
注:Maven Project Version插件 IDEA插件可以很好的帮助我们修改版本号。
安装完成后在Maven的界面会出现一个向上的箭头图标
点击上图中的图标,在弹出的框里填写想要生成的版本号
然后点击Submit,就会发现所有module的pom文件对应的版本号都修改完成了!!!
方式2:借助pom文件${xxx.version}进行占位
在项目的父级pom.xml中设置项目的版本号。
1.在maven项目的父级pom.xml中使用${budaogu.version}来统一管理版本号。这样每次需要修改版本号的时候,修改定义的budaogu.version变量即可。
<groupId>com.budaogu</groupId>
<artifactId>budaogu-pro</artifactId>
<packaging>pom</packaging>
<version>${budaogu.version}</version>
<modules>
<module>budaogu-commom</module>
<module>budaogu-jpa</module>
<module>budaogu-demo</module>
<module>budaogu-redis</module>
<module>budaogu-test</module>
<module>budaogu-auth</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<budaogu.version>1.0</budaogu.version>
<encoding>UTF-8</encoding>
<lombok.version>1.18.16</lombok.version>
<hutool.version>5.8.10</hutool.version>
</properties>
2.修改子模块pom.xml
<parent>
<artifactId>budaogu-pro</artifactId>
<groupId>com.budaogu</groupId>
<version>${budaogu.version}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>budaogu-auth</artifactId>
3.如果出现idea子模块使用父模块变量飘红:Prperties in parent definition are prohibited
出现这个提示其实并不影响项目编译、打包。个人有强迫症,看不得代码中有红色的东东。
解决: 在idea,打开setting,在其中搜索prohibited,找到Maven--Usage of properties in parent description,去掉选中框中的√,就可以了。
方式3:使用versions-maven-plugin插件管理
这种方式需要在父级pom.xml中做如下配置。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.14.0</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
可以在插件中执行versions:set命令,会自动执行,最后在控制台上让你输入新的版本号,此处我的新版本号是1.0.1,执行完成后会将所有项目的版本后修改为在控制台输入的版本号。
使用这个插件时也可以使用命令
mvn versions:set -DnewVersion=1.0.1
由于我使用命令执行没有成功,就不做介绍了,jym欢迎指正使用命令的方式进行修改版本号操作,会进行修改。