Maven打包时如何解决时间戳导致的重复构建问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计574个文字,预计阅读时间需要3分钟。
Maven 打包时,可生成带有时间戳的属性,利用此属性可定制包名。示例配置如下:
xml5.0.${build.time} yyyyMMddHHmmss
开启资源文件过滤功能:
xml src/main/resources true
maven 打包时,可以生成时间戳属性,利用该属性来组装包名。
<version>5.0.${build.time}B</version> <properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
对资源文件开启 filtering 功能,资源文件中的 POM 变量在打包过程中会被自动替换。在 java 代码中访问 properties 资源文件,就可以取到版本号。
<resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource>
但是,这个时间戳属性有个问题,生成的时间 ${maven.build.timestamp} 是 UTC 时间,无法修改时区。网上找到一个办法,可以用插件解决这个问题。
本文共计574个文字,预计阅读时间需要3分钟。
Maven 打包时,可生成带有时间戳的属性,利用此属性可定制包名。示例配置如下:
xml5.0.${build.time} yyyyMMddHHmmss
开启资源文件过滤功能:
xml src/main/resources true
maven 打包时,可以生成时间戳属性,利用该属性来组装包名。
<version>5.0.${build.time}B</version> <properties> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> </properties>
对资源文件开启 filtering 功能,资源文件中的 POM 变量在打包过程中会被自动替换。在 java 代码中访问 properties 资源文件,就可以取到版本号。
<resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource>
但是,这个时间戳属性有个问题,生成的时间 ${maven.build.timestamp} 是 UTC 时间,无法修改时区。网上找到一个办法,可以用插件解决这个问题。

