热部署Debug HotSwap 三种方案实现
方式一:JRebel插件
一:Idea先下载插件:

二:激活:

三:选择url方式激活:

生成guid地址
四:设置编辑器自动编译为开启状态

五:继续设置 ctrl+ shift+ alt+ / —>选择Registry选项

六:启动后编译成功 按 ctrl + shift+F9 进行编译
*优点:*强大,对各类框架支持,并且提供IDE插件的方式。
方式二:Idea自带热部署
idea菜单–>run----> EditConfiguration 然后配置指定服务器下 runingApplication Update Policies

缺点:这种方式是基于 JVM 提供的热加载,仅支持方法块内代码修改,只有 debug 模式下,并且是在 idea 失去焦点时(也即电脑切换到其他界面)才会触发热加载,相对加载速度缓慢 。
方式三:Spring boot devtools 热部署工具
一:添加依赖:
<!--devtools热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
二:添加配置
spring:
devtools:
restart:
enabled: true #设置开启热部署
additional-paths: src/main/java #重启目录
exclude: WEB-INF/**
freemarker:
c: false #页面不加载缓存,修改即时生效
三:设置自动编译为开启状态
四:[继续设置](#五:继续设置 ctrl+ shift+ alt+ / —>选择Registry选项)
注:
- devtools可以实现页面热部署 (设置spring.freemarker.freemarker=false)可以实现
- /resource /static 等文件夹下的文件修改不会使应用重启,但是会进行重新加载
- 每修改一个方法代码块项目都会进行一次重新启动
*缺点:*只支持springboot项目