使用idea进行java项目开发实现热部署-debug及jrebel方式

本文探讨了在Java开发中避免重启即可让修改代码生效的两种方法:IDEA的Debug模式和JRebel插件。Debug模式在特定条件下支持代码修改生效,如修改非方法签名的方法代码、添加新类等,但对新增方法或修改类结构的支持有限。而JRebel插件则能更全面地实现热部署,包括修改类结构、添加或修改方法和属性。对于需要频繁调试的开发者,JRebel提供了一种强大的解决方案。

对于比较大的项目,启动往往会比较慢,所以我们希望在开发过程中修改完代码后可以不用重启就可以让我们修改的代码生效。要想在不重启的情况下使修改的代码生效,目前我所知道的是有三种方式:idea debug方式启动、idea中安装jrebel插件以及使用spring-boot-devtools方式。spring-boot-devtools平时不怎么用,这里不做讨论,这里只研究另外两种方式。

由于这两种方式的演示用视频比较好,所以我录制了一个视频,有兴趣的可以看一下,有不足的地方欢迎大家批评指正。本文只是做一个总结。

演示视频  https://www.bilibili.com/video/BV1L64y1i7dS/ 

idea debug模式启动

这种方式是可以实现修改代码不重启生效,但是功能非常弱,使用场景也就很有限。什么情况下才会生效,下面表格做了总结。由于情况比较多,比较复杂,看不明白的建议先看视频。

修改的代码不重启是否可以生效

方法中修改代码(修改的代码不涉及调用新增方法或类)

添加新方法
修改方法签名
添加新类
添加新类生效后,再添加新方法
类中添加新属性
修改类中public属性的值
修改类中public属性的名
添加第一个static属性
添加第二个及更多static属性
添加第一个static方法
添加第二个及更多static方法
修改static方法签名

jrebel插件方式

这种方式就比较强大了,基本上不论是增删改了类中的方法或是属性,都可以实现不重启热部署。jrebel插件的安装与基本使用我在视频中就已经讲解了,这里就不细说了。

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值