女朋友问的那些问题—Maven打包时maven.build.timestamp的时区有问题!
theme: smartblue
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
【起因】说一下要实现的效果
女朋友最近接到手里的任务就是要将Maven打的包设置成xxx-2021209252204.jar,因为是springboot项目,网上的例子其实有很多。
开始时使用了maven自带的时间插件,直接在properties标签中加入时间格式的设置,如下:
xml <properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
随后在build标签中指定filename即可。
xml <build> <finalName> ${project.artifactId}-${maven.build.timestamp}</finalName> </build>
就这样试了试,结果确实打包成功了,可没想到maven自带时间组件时区是只能使用UTC,没办法,只能找找帮手了。
【问题】打包时遇到的时区问题
这个问题其实也就是一个组件问题,既然自带组件解决不了问题,那么我们就用一个其他的组件来替代好了。
于是将buildnubmer-maven-plugin推给她,并且将一定的配置项一并发过去,如下:
xml <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标签内容,如下:
xml <finalName>${project.artifactId}-${build.time}</finalName>
要将maven.build.timestamp替换成build.time,因为要使用buildnubmer-maven-plugin组件中声明的时间串。
【结果】
非常简单,没有生气,没有分手,谢天谢地。
这个专栏是为了统计那些女朋友问的一些问题,不知道吵了多少架,这次正好记录一下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)