欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IDEA SpringBoot 免重启热部署(热加载)

程序员文章站 2022-03-26 21:21:46
IDEA SpringBoot 免重启热部署Date: 2019.01.06 天气不太好记:工欲善其事必先利其器。IDEA开发SpringBoot项目,结合DevTools实现热部署的方案众所周知,但是由于这种方案其根本原理是,IDEA自动完成编译部署重启的流程,所以不可避免的服务会被频繁重启,而每一次重启都会导致会话被重置。经过长期探索,今天终于发现了免重启自动热部署方案(世界原来如此......

IDEA SpringBoot 免重启热部署(热加载)

Date: 2019.01.06 天气不太好
记:工欲善其事必先利其器。
IDEA开发SpringBoot项目,结合DevTools实现热部署的方案众所周知,但是由于这种方案其根本原理是,IDEA自动完成编译部署重启的流程,所以不可避免的服务会被频繁重启,而每一次重启都会导致会话被重置。
经过长期探索,今天终于发现了免重启自动热部署方案,准确说应该是热加载(世界原来如此简单)。


  1. 环境:

    操作系统:Windows 10
    java:jdk 1.8
    IDEA:IDEA ULTIMATE 2018.1
    项目:SpringBoot Gradle

  2. 方案:
    不需要 DevTools
    2.1. 打开项目的运行配置,如下图配置
    IDEA SpringBoot 免重启热部署(热加载)
    2.2. 以 debug 模式运行程序,项目即可自动部署加载了。
    2.3. 配置 application.properties 添加:spring.thymeleaf.cache=false ,否则静态文件或 thymeleaf 文件无法自动热部署
  3. 此方案有以下约束:

    3.1. 使用的是debug模式
    3.2. tomcat是由idea实例化的。也就是说tomcat是在idea中配置好的。(IDEA默认即是)
    3.3. 当修改文件后,ctrl+F9,编译文件。tomcat会自动加载新文件。
    3.4. On frame deactivation 选择为 update classes and Resource 时,当IDEA窗口失去焦点时会自动编译。
    3.5. 特殊的修改如:项目配置文件,某些特殊类新增,方法名称参数的添加修改引起的不能热部署就必须重启,当然你也可以用Jrebel插件。此插件收费。可以实现大部分的修改热部署,包括修改项目配置文件等热部署。

本文地址:https://blog.csdn.net/yufei201410/article/details/85967251