• 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 看你这么可怜,再提示你一下:你重孙算1,父母为2,父母的父母为4,父母的父母的父母为8…… 2019-03-19
  • 习近平春节前夕赴江西看望慰问广大干部群众 2019-03-05
  • 三只树懒漂洋过海亮相杭州 看着都困 2019-03-01
  • 健康管理进入精准时代 中检健康与正大制药启动健康管理2050公益工程 2019-02-24
  • A股市场具有较强估值支撑 机构看好政策受益板块 2019-02-19
  • 社会消费品零售总额 上月增长8.5% 2019-02-19
  • 紫光阁中共中央国家机关工作委员会 2018-11-22
  • “无中生有”也能助力文旅 2018-11-21
  • 中国何以成为数字大国 2018-11-20
  • maven-replacer-plugin 静态资源版本号解决方案(css/js等)

    快乐彩开奖号码 www.752o.com 本文介绍如何使用 maven 的 com.google.code.maven-replacer-plugin 插件来自动添加版本号,防止浏览器缓存。


    目录

    • 1.解决方案
    • 2.原始文件和最终生成效果
    • 3.pom.xml 中插件添加
    • 4.html中 css/js 文件引用规则
    • 5.结语

    1.解决方案

    解决问题:
        防止浏览器缓存,修改静态文件(js/css)后无效,需要强刷。
    
    解决方案:
        使用 maven 的 com.google.code.maven-replacer-plugin 插件,
        在项目打包 package 时自动为静态文件追加 xxx.js?v=time 的后缀,
        从而解决浏览器修改后浏览器缓存问题,此插件只会在生成 war 包源码时生效,不需要修改任何代码。

    2.原始文件和最终生成效果

    原始文件:
    <script src="${resource!}/js/xxx/xxx.js"></script>
    
    打包后:
    <script src="${resource!}/js/xxx/xxx.js?v=20180316082543"></script>

    3.pom.xml 中插件添加

    
    <properties>
        <!-- maven.build.timestamp 默认时间戳格式 -->
        <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
    </properties>
    
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <!-- 使用缓存 -->
                <useCache>true</useCache>
            </configuration>
            <executions>
                <!-- 在打包之前执行,打包后包含已经执行后的文件 -->
                <execution>
                    <id>prepare-war</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>exploded</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
            <version>1.5.3</version>
            <executions>
                <!-- 打包前进行替换 -->
                <execution>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>replace</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- 自动识别到项目target文件夹 -->
                <basedir>${build.directory}</basedir>
                <!-- 替换的文件所在目录规则 -->
                <includes>
                    <include>${build.finalName}/WEB-INF/views/*.html</include>
                    <include>${build.finalName}/WEB-INF/views/**/*.html</include>
                </includes>
                <replacements>
                    <!-- 更改规则,在css/js文件末尾追加?v=时间戳,反斜杠表示字符转义 -->
                    <replacement>
                        <token>\.css\"</token>
                        <value>.css?v=${maven.build.timestamp}\"</value>
                    </replacement>
                    <replacement>
                        <token>\.css\'</token>
                        <value>.css?v=${maven.build.timestamp}\'</value>
                    </replacement>
                    <replacement>
                        <token>\.js\"</token>
                        <value>.js?v=${maven.build.timestamp}\"</value>
                    </replacement>
                    <replacement>
                        <token>\.js\'</token>
                        <value>.js?v=${maven.build.timestamp}\'</value>
                    </replacement>
                </replacements>
            </configuration>
        </plugin>
    </plugins> 
    

    4.html中 css/js 文件引用规则

    文件引用结尾处,必须是pom.xml文件中添加的规则:

    <script src="${resource!}/js/xxx/xxx.js" type="text/javascript"></script>
    
    <link href="${resource!}/css/xxx/xxx.css" rel="stylesheet" type="text/css">

    5.结语

    到此本文就结束了,关注公众号查看更多推送?。?!


    关注我的公众号


    posted @ 2018-11-15 10:27 YClimb 阅读(...) 评论(...) 编辑 收藏
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 看你这么可怜,再提示你一下:你重孙算1,父母为2,父母的父母为4,父母的父母的父母为8…… 2019-03-19
  • 习近平春节前夕赴江西看望慰问广大干部群众 2019-03-05
  • 三只树懒漂洋过海亮相杭州 看着都困 2019-03-01
  • 健康管理进入精准时代 中检健康与正大制药启动健康管理2050公益工程 2019-02-24
  • A股市场具有较强估值支撑 机构看好政策受益板块 2019-02-19
  • 社会消费品零售总额 上月增长8.5% 2019-02-19
  • 紫光阁中共中央国家机关工作委员会 2018-11-22
  • “无中生有”也能助力文旅 2018-11-21
  • 中国何以成为数字大国 2018-11-20