静态资源文件Hash缓存maven插件
背景 在开发的过程中,浏览器会有缓存,每次发布的新的代码,js和css都得不到及时的更新,必须清除缓存才能正常使用。关于前端页面优化的功能网上有很多介绍,不管是更新文件的版本号还是对文件进行Hash,本质上都是更改文件名,让浏览器重新下载文件。 很多前端构建工具都支持这个功能,但是对于部分前后端代码并没有分离的项目来说,并不是很好实现。这里提供一个较好的解决方案,利用maven插件,在项目打包的时候将文件进行Hash,这样每次在发布版本的时候,只要文件本身发生了变化,文件的名称就会变化。 思路 整个实现的思路主要如下: 复制webapp下的文件到临时文件夹; 遍历临时文件夹里面的js和css文件,并进行Hash值计算,保存在Map中; 遍历页面文件,替换里面的引用的js和css文件名。 插件主要的工作是完成2,3两步,第1步有插件已经实现了,拿来用就好。 maven插件代码 package com.coocaa.salad.maven.plugin; import com.origin.eurybia.utils.MD5Encode; import org.apache.maven.....