1.解决方案解决问题:
防止浏览器缓存,修改静态文件(js/css)后无效,需要强刷。
解决方案:
使用 maven 的 com.google.code.maven-replacer-plugin 插件,
在项目打包 package 时自动为静态文件追加 xxx.js?v=time 的后缀,
从而解决浏览器修改后浏览器缓存问题,此插件只会在生成 war 包源码时生效,不需要修改任何代码。
2.原始文件和最终生成效果原始文件:
打包后:
3.pom.xml 中插件添加
yyyyMMddHHmmss
org.apache.maven.plugins
maven-war-plugin
true
prepare-war
prepare-package
exploded
com.google.code.maven-replacer-plugin
replacer
1.5.3
prepare-package
replace
${build.directory}
${build.finalName}/WEB-INF/views/*.html
${build.finalName}/WEB-INF/views/**/*.html
\.css\"
.css?v=${maven.build.timestamp}\"
\.css\'
.css?v=${maven.build.timestamp}\'
\.js\"
.js?v=${maven.build.timestamp}\"
\.js\'
.js?v=${maven.build.timestamp}\'
4.html中 css/js 文件引用规则
文件引用结尾处,必须是pom.xml文件中添加的规则: