夕辞

SrpingBoot使用Freemarker禁用缓存不生效解决方案 | 夕辞夕辞

SrpingBoot使用Freemarker禁用缓存不生效解决方案

最近使用SrpingBootfreemarker搭建项目,发现freemarker文件更改后必须重新启动才生效,网上搜了很多教程,也按照教程设置了,发现还是不行,最后发现和idea版本也有关系,在这里写下具体的坑。

前面的步骤还是都相似的,只是最后一步idea设置有区别。

 

第一步:pom引入spring-boot-devtools

xml中加上以下内容:

<!--在dependencies增加-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

<!--在build下的plugins增加,fork属性别忘记-->
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.3.7.RELEASE</version>
    <configuration>
        <fork>true</fork>
    </configuration>
</plugin>

 

第二步:application.properties中设置禁止缓存。

这一步其实不用,springboot默认spring.freemarker.cache的值就是false,当然写上也没问题。

 

第三步:修改IDEA中Complier的自动构建属性。

 

第四步:修改Registy,这一步不同版本IDEA不一样。

常见的是:点击 Help –> Find Action..,或使用快捷键 Ctrl+Shift+A来打开 Registry…,将其中的compiler.automake.allow.when.app.running勾上。

如果你能找到这个选项,设置就没问题,但是我用的IDEA版本上并没有这个设置。

最后发现这个设置在高级设置里面。

这样设置以后,freemarkder的热部署才真正生效,不过观察下来也有几秒钟的延迟吧。

 

好了,最后一步真的是个坑,希望帮助到你。

2022年9月30日 / /
标签:  暂无标签
回到顶部