【起因】说一下要实现的效果
女朋友最近接到手里的任务就是要将Maven打的包设置成xxx-2021209252204.jar,因为是springboot项目,网上的例子其实有很多。
开始时使用了maven自带的时间插件,直接在properties标签中加入时间格式的设置,如下:
<properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
随后在build标签中指定filename即可。
<build> <finalName> ${project.artifactId}-${maven.build.timestamp}</finalName> </build>
就这样试了试,结果确实打包成功了,可没想到maven自带时间组件时区是只能使用UTC,没办法,只能找找帮手了。
【问题】打包时遇到的时区问题
这个问题其实也就是一个组件问题,既然自带组件解决不了问题,那么我们就用一个其他的组件来替代好了。
于是将buildnubmer-maven-plugin推给她,并且将一定的配置项一并发过去,如下:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>timestamp-property</id> <goals> <goal>timestamp-property</goal> </goals> <configuration> <name>build.time</name> <pattern>yyyyMMddHHmm</pattern> <locale>zh_CN</locale> <timeZone>GMT+8</timeZone> </configuration> </execution> </executions> </plugin>
特地查了查这个插件的版本,3.2.0就是当前的最新版本了,用起来应该不会有什么大问题了,毕竟就是格式化一个时间。
这里还要操作filename标签内容,如下:
<finalName>${project.artifactId}-${build.time}</finalName>
要将maven.build.timestamp替换成build.time,因为要使用buildnubmer-maven-plugin组件中声明的时间串。
【结果】
非常简单,没有生气,没有分手,谢天谢地。
这个专栏是为了统计那些女朋友问的一些问题,不知道吵了多少架,这次正好记录一下。