Spring Boot实时刷新静态文件

Java框架

浏览数:266

2019-8-23

你是否受够了每次修改静态文件都要重启服务器?

有时候在一些公司前后端的职责没有那么的明确,往往后台人员也要去写一些页面,像jsp页面,或者其他的后台模板页面等。默认情况下Java文件会被编译为class文件,并且静态资源文件也被一并的编译进class目录下面,这样导致我们每次修改静态文件都要重新编译进class目录,很麻烦,有没有什么简便的方案呢?

方案

Spring Boot在MVC中有个WebMvcProperties的配置类,还有个ResourceProperties资源配置类。

默认情况下Spring Boot从下面的目录下寻找静态资源文件

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
            "classpath:/META-INF/resources/", "classpath:/resources/",
            "classpath:/static/", "classpath:/public/" };

默认的静态资源路径匹配为/**。

修改Spring Boot配置,注意static-locations为静态资源在自己电脑中的绝对路径配置

spirng
  resources:
    chain:
      cache: false
    static-locations: file:///Users/aihe/Desktop/taqu/ticket-system/src/main/resources/static/,file:///Users/aihe/Desktop/taqu/ticket-system/src/main/resources/
  mvc:
    static-path-pattern: /static/**

以后再修改静态文件的时候,js,html,css等即可立即生效,也不需要热部署的插件什么的。

一个小tip,希望对大家有帮助

作者:Real_man