Spring Boot Thymeleaf 热部署

thymeleaf禁用缓存

将thymeleaf的cache属性置为false,不使用thymeleaf的缓存功能。

1
2
3
spring:
thymeleaf:
cache: false

一开始我就配置了,但是修改页面之后,刷新浏览器,修改的内容没有生效。

最终解决办法

这个时候查看target目录下,你修改的html文件,发现刚刚修改的内容并没有编译到该文件中。刷新浏览器自然就没有生效。所以需要我们自己手动build一下。。。

方法1

  1. 首先,需要thymeleaf的缓存设置为false。

  2. 然后使用下面两条命令,均可以。

    ctrl + shift + F9:Recompile (这个一般是修改了java代码,如controller等文件,重新编译)
    ctrl + F9:Build Project (这个,当你修改了静态页面,如html页面,重新build)

如果只是修改了静态页面,建议使用ctrl + F9。

方法2

可能你觉得每次修改之后,按一下快捷键也很麻烦。那么就需要配置一下IDEA。开启IDEA的自动build功能。使用spring-boot-devtools进行热部署。

  1. 首先,还是需要把thymeleaf的缓存设置为false。

  2. pom.xml加入,引入devtools:

1
2
3
4
5
6
7
8
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>2.0.4.RELEASE</version>
<!-- 启用 -->
<optional>true</optional>
</dependency>
  1. 修改IDEA的两处配置
    ①file —> setting —>Compiler,启用自动build

ps:这里有可能IDEA的版本不一样,没有这个选项,有可能是make project automatically

​ ②IDEA中按下快捷键:ctrl + shift +alt + / ,调出如下面板

OK。这个时候,修改文件,再刷新一下浏览器。会发现刚刚改的东西生效了(java代码和静态页面得修改都会自动生效)。修改controller里面的代码,不用重新编译,也自动生效了。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信