博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven构建war项目添加版本号
阅读量:6860 次
发布时间:2019-06-26

本文共 2618 字,大约阅读时间需要 8 分钟。

  上午接到一个新的需求,项目的war包打包之后,放在了阿里的OSS上,供其他项目下载更新时使用,但是只有一个项目名,也就是pom的artifactId,预期的结果是要加上一个版本号,能区分出是什么时候打的包。

一、使用Maven自带的属性

yyyy-MM-dd HH:mm:ss
org.apache.maven.plugins
maven-war-plugin
2.6
${project.artifactId}_${maven.build.timestamp}
src/main/webapp
*.*
**/*.*
true

按照以上配置,版本号可以加上,年月日也是正确的,但是时分秒是对不上的,这是时区问题,maven取得是UTC ,如果想使用北京时间GMT+8 则需要插件支持

二、使用插件

org.codehaus.mojo
buildnumber-maven-plugin
1.4
yyyyMMddHHmmss
create-timestamp
false

在需要使用版本号的地方直接使用${timestamp}

org.apache.maven.plugins
maven-war-plugin
2.6
${project.artifactId}_${timestamp}
src/main/webapp
*.*
**/*.*
true

配置完成!打包符合要求。

三、扩展使用-静态资源文件版本控制

在 二 的基础上加自定义属性

${timestamp}

页面中的引用

*.[js|css|img]?v=${project.build.version}

注意:war包插件必须要先开启过滤 

true

这样maven打包的时候,就会将${project.build.version} 替换为时间戳,每次发布版本的时候,也不用去清除浏览器的缓存了。

转载于:https://www.cnblogs.com/geekdc/p/9317463.html

你可能感兴趣的文章