使用maven打包替换掉页面的占位符

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用maven打包替换掉页面的占位符

1 项目遇到问题

项目在更新版本后,对用户来说会存在前端资源被浏览器缓存的问题,这时候要清理浏览器缓存,对用户来说就比较麻烦了。

2 解决方案

通过对资源文件添加版本号作为请求参数,在更新版本后统一更新版本号,用户访问的时候浏览器就会当成新的请求去拉取资源。

3 实现思路

Maven 打包的时候可以设置filtering 来过滤设置好的占位符(1)。

4 实现方案

因为maven 中的占位符默认是${} , 而我们已存在的代码中大量使用了$ 来取值,这样就会导致打包的时候会替换掉maven本身的值,比如${id},${version},${name}... , 这时候就想用其他的占位符来替换$ .通过查找API(2)发现可以使用, 这2个元素组合使用可以把默认的占位符给换掉,

代码如下:

org.apache.maven.plugins

maven-war-plugin

3.0.0

src/main/webapp

true

**/*.jsp

#{*}

false

UTF-8

useDefaultDelimiters 的api 如下:

注意,这里的since是3.0.0 就是说使用的时候maven-war-plugin 对应的版本应该大于3.0.0,

Delimiters 的api 如下:

注意,这里的since是3.0.0 就是说使用的时候maven-war-plugin 对应的版本应该大于3.0.0,

项目还添加了prifile用来加载对不同的环境进行资源配置,默认是dev, 如果需要可以在打包的时候指定-Pdev 或-Pproduct.

具体命令: clean package -Pdev

5 对开发的影响

Jsp页面避免使用#{id},#{name} 用来存取数据.

6 关于乱码

需要在 设置

UTF-8

参考资料

1.

/plugins/maven-war-plugin/examples/adding-filtering-webresources.ht ml

2.

/plugins/maven-war-plugin/war-mojo.html

相关文档
最新文档