本文出自明月工作室:https://www.freebytes.net/it/java/idea-springboot-jrebel.html
项目实现热部署的好处:
- update代码(不改变配置文件和外部引用时)不用重启
- 改变类的结构(增加属性、增加/修改/删除/编辑方法、注入对象等)不用重启
- 增加/删除类文件不用重启
spring boot实现热部署的方式有两种:
1.通过再项目中加入如下的依赖 然后再application.properties中加入
spring.devtools.restart.additional-paths=src/main/java(热部署的包目录)
在pom文件中加入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<!-- optional=true,依赖不会传递,该项目依赖devtools;
之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
这种方式相对简单,但是并不适用于多样化的项目结构 , 推荐使用第二种.
2.安装jrebel插件 (jrebel可满足多样化项目结构,多种框架的热部署需求)
jrebel并不是一个免费的开源插件,可以通过破解的方式或者注册Facebook账号的方式申请获得免费的激活码
(破解方式没有教程,网上教程都试过 但是失败了)
申请激活码教程(需要翻墙)——
点击这里 https://my.jrebel.com/account/how-to-activate
注册或者使用facebook账号登陆,皆可,然后在
获取激活码。
再照下图进行激活就可以了
使用方法:
进入jrebel设置
之后 编辑代码之后直接快捷键ctrl+f9重构项目就可以了 重构的过程很快 不用重启项目
示范效果:
按下ctrl+f9 如下指示代表重新编译完成 新增的接口可以直接使用