自动编译插件--springboot实现热部署

第一种:通过配置文件,和idea配置来设置项目热部署。(建议使用第二种)
1.添加依赖

<dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-devtoolsartifactId>
            <scope>runtimescope>
            <optional>trueoptional>
dependency>
<plugin>
         <groupId>org.springframework.bootgroupId>
         <artifactId>spring-boot-maven-pluginartifactId>
         <configuration>
               <fork>truefork>
         configuration>
plugin>

2.配置自动编译。
①在files->settings->Build, Execution,Deployment-> Compiler页面下,勾选Build project automatically。

自动编译插件--springboot实现热部署_第1张图片

②选择Registry,勾选 compiler.automake.allow.when.app.running

自动编译插件--springboot实现热部署_第2张图片
自动编译插件--springboot实现热部署_第3张图片

注:(idea不同版本有所差异,我的版本是2020.2.1)

其他版本,若找不到上图的选项,可以去看看 :
files->settings->Advanced Settings中勾选Allow auto-make…

3.配置文件中开启热部署
①在application.properties 里添加配置

#热部署生效
spring.devtools.restart.enabled: true

#设置重启的目录
spring.devtools.restart.additional-paths: src/main/java

②在application .yml 中

#设置开启热部署
spring: devtools: restart: enabled: true

#重启目录
additional-paths: src/main/java 

4.修改项目启动的配置
①如图所示Edit Configurations
自动编译插件--springboot实现热部署_第4张图片
②如下图所示
自动编译插件--springboot实现热部署_第5张图片

重启idea生效!!!上述方法热部署,再启动项目后,在原来的方法上增加或删除代码则不需要重启可以自动编译。

但是新的方法,并不好使,会报一个错误,关于HotSwap的问题。
原因:
百度上说,现有HotSwap的功能比较有限,很多修改都不支持。例如说只能增加方法或字段但不可以减少方法或字段,只能增加可见性不能减少,只能维持已有方法的签名而不能修改,等等;

二、使用JRebel插件来实现热部署。

1.只需要导入一个依赖即可

<dependency>
     <groupId>org.springframework.bootgroupId>
     <artifactId>spring-boot-devtoolsartifactId>
     <optional>trueoptional>
dependency>

2.安装插件
自动编译插件--springboot实现热部署_第6张图片

3.激活
①选择help->JRebel->Activation
自动编译插件--springboot实现热部署_第7张图片

②选择TeamUrl只需要填写url和邮箱。
TeamUrl:http://jrebel.qekang.com:80/6ab13a24-2bfe-4303-8647-27c6bd7a064c
邮箱:随便写个邮箱即可(前提是邮箱)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a8abf0a98c344463807ee9459cf474ae.png

③以boot项目为例,选择左侧JRebel,勾选自动编译项目,会生成rebel.xml文件。
自动编译插件--springboot实现热部署_第8张图片
④然后idea右上角
在这里插入图片描述

点击JRebel启动,或者debug

⑤测试新增两个接口,没有重启项目,调用成功
自动编译插件--springboot实现热部署_第9张图片
自动编译插件--springboot实现热部署_第10张图片
⑥配置自动编译时间:file–>settings–>JRebel & XRebel
如果写代码的时候可以把时间拉长一点,测接口的时候可以把时间拉短一点,看个人习惯设置。快捷键ctrl+f9 编译文件
自动编译插件--springboot实现热部署_第11张图片

你可能感兴趣的:(常用工具类,spring,boot,java,intellij-idea)