java SpringBoot SpringCloud 热部署 热加载 热调试
文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 :
免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备
免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 经典图书:《Java高并发核心编程(卷2)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 经典图书:《Java高并发核心编程(卷3)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 经典图书:《尼恩Java面试宝典 最新版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 资源宝库: Java 必备 百度网盘资源大合集 价值>10000元 加尼恩领取
Java/SpringBoot/SpringCloud 热部署 热加载 热调试
有两种方式:
一: devtools的热部署
【这是一种假的热部署,说白了就是重启一下】
二. jrebel 的热部署
很牛逼,但是需要破解哦
方式一:devtools 的热部署
每修改一下代码再去 run一次, 实在是很麻烦. 很浪费时间. 很低效
但既然用这个框架的,它所包含的特性什么的还是要充分利用,不能浪费呀!
springboot的热部署网上有太多的教案,在此呢,也只是真实记录一下自己在实际操作过程中的方法步骤。
1、pom.xml配置,这是一定要配置的
热加载在pom.xml中添加devtools的maven引用,同时在plugin中添加devtools生效标志
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!-- 如果没有该生效标志,热部署的devtools不生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
2、Idea设置
于热部署是监听 Class 文件的变化,它自身不会主动去编译 Java 文件,所以我们得在 Java 文件改动时,自动编译成 Class 文件,然后热部署工具创造的新的类加载器才会加载改变后的 Class 文件。
所以,如果你使用 IDEA 开发工具的话,记得要把自动编译打开。
File | Settings | Build, Execution, Deployment | Compiler :该√的√上
3、修改IDEA的 Registry
开启自动编译,还差一步。
所以,如果你使用 IDEA 开发工具的话,记得要把自动编译打开。
再执行 shift+ctrl+alt+/ 快捷键
在配置文件application.yml
热部署生效:在配置文件application.yml中添加 :
spring:
devtools:
restart:
enabled: true #设置开启热部署
4 重启idea,运行工程
注意:这种配置启动不能直接运行 main 方法了,需要使用 mvn spring-boot:run 启动,
运行:mvn clean spring-boot:run
问题:
springBoot框架 只是实现了热启动而已,从控制台日志就可以看出来。
方式二: JRebel插件热部署
可以在csdn下载离线插件:
https://download.csdn.net/download/qq_32769447/11667644
也可以使用idea安装在线插件:
开发工具idea中使用JRebel插件
JRebel是JavaEE中比较流行的热部署插件,可快速实现热部署,节省了大量重启时间,提高了个人开发效率。
1、点击File -> Settings -> Plugins,如下图:搜索JRebel安装
jrebel 的激活和使用
1、重启idea,右上角即出现快捷按钮,分别是run、debug模式
2 第一次使用是,需要 激活
详情如后面
3 激活之后,也可以右键springboot的启动类:
又或者使用spring的运行面板:
手动编译要加载的类
如果配置了自动编译,这一步,直接忽略
jrebel自动加载class,自动配置bean
代码重新编译后,jrebel自动加载class,自动配置bean
设置为离线模式
然后将JRebel设置为离线模式,可以180天内不用再次激活,如下图
方式二补充:激活jrebel
1、下载ReverseProxy_windows_amd64.exe,以下链接可下载。
链接1:https://github.com/ilanyu/ReverseProxy/releases/download/v1.4/ReverseProxy_windows_amd64.exe
链接2:https://download.csdn.net/download/zcxbd/11151163
2、双击exe文件,如图1所示:
图一:
3、idea点击激活jrebel,激活页面如下图二,http://localhost:8888/aa408ec4-1454-4187-96b8-f292e2c223cf该链接组成:端口8888即是图一中的8888,后面的随机码,可用uuid在线生成;邮箱随便填写即可;再勾选同意,点击激活按钮即可
图二-1:
图二-2:
图二-3:
图二-4:注意:图二-4中的激活按钮处显示“Change license”,是因为我已经激活成功!!!