工欲善其事必先利其器。
IDEA开发SpringBoot项目,结合DevTools实现热部署的方案众所周知,但是由于这种方案其根本原理是,IDEA自动完成编译部署重启的流程,所以不可避免的服务会被频繁重启,而每一次重启都会导致会话被重置。
经过长期探索,今天终于发现了免重启自动热部署方案,准确说应该是热加载(世界原来如此简单)
1.环境:
操作系统:Windows
java:jdk
IDEA:IDEA ULTIMATE
项目:SpringBoot Gradle
2.方案:
不需要 DevTools
. 打开项目的运行配置,如下图配置
. 以 debug 模式运行程序,项目即可自动部署加载了。
. 配置 application.properties 添加:spring.thymeleaf.cache=false ,否则静态文件或 thymeleaf 文件无法自动热部署
3.此方案有以下约束:
. 使用的是debug模式
. tomcat是由idea实例化的。也就是说tomcat是在idea中配置好的。(IDEA默认即是)
. 当修改文件后,ctrl+F9,编译文件。tomcat会自动加载新文件。
. On frame deactivation 选择为 update classes and Resource 时,当IDEA窗口失去焦点时会自动编译。
. 特殊的修改如:项目配置文件,某些特殊类新增,方法名称参数的添加修改引起的不能热部署就必须重启,当然你也可以用Jrebel插件。此插件收费。可以实现大部分的修改热部署,包括修改项目配置文件等热部署。
感谢阅读,关注 + 三连是最大的支持!