提升效率神器!手写一款Java热部署插件HotSeconds

前言

我们在开发调试的过程中,经常在打包和重启服务器中消耗大量的时间,这将浪费我们大量的青春,这里介绍一款本人开发的Java远程热部署插件HotSeconds(当然也可以本地热部署),包括HotSecondsServer和HotSecondsClient,相对传统部署来说,效率可以提升百倍。

功能演示

1.热部署代码

包括修改代码,新增字段,新增方法,新增类,打破了原生JDK中Instrument机制只能修改方法体的不足。同时还支持一些常用框架的热更新,比如Spring新增一个Autowired字段或者SpringMVC新增一个Controller方法,也是支持热更新的。

下面演示一个新增SpringMVC字段和方法的热部署

2.热部署资源文件

下面演示一个热部署MyBatis的xml文件,也是右键直接热部署生效

3.批量热更新修改的文件

修改了多个文件的情况下,直接打开热部署面板,可将修改过的文件热部署到服务器,支持按文件修改时间戳热部署,也可以将版本控制下(Git/SVN等)未提交的文件热部署

4.触发执行远程函数

无需调用远程Http或者RPC接口,就能直接触发需要的函数,这对于调试来说可是非常方便的,当然也包括在沙箱环境修复脏数据。

直接在函数上右键选择远程执行函数,即可触发具体的函数逻辑,这里分为四种情况,静态,非静态,有参数,无参数。

无参数可以直接触发,如果是非静态字段,会弹出当前类的所有对象的选择框,选择后触发。

有参数的情况,会弹出对象选择框和参数输入框,输入选择后触发逻辑。 目前参数只支持byte,short,boolean,char,int,double,float,long,Bigdecimal。

复杂参数的函数,可以写一个静态无参的函数,触发需要的函数,然后远程热部署整个新写的静态无参的函数的类即可。

5. 远程查看字段值

包括静态字段和非静态字段,直接在字段上右键,就能查看该字段的值。

非静态字段是先弹出显示当前类的所有对象实例的框,选择具体的对象后即可获取该对象的字段值。

安装教程

详见 github.com/Liubsyy/Hot...

相关推荐
CodeCraft Studio11 分钟前
Excel处理控件Spire.XLS系列教程:Java设置Excel活动工作表或活动单元格
java·python·excel
余渔鱼112324 分钟前
ASP.NET CORE部署IIS的三种方式
后端·github·asp.net
瓯雅爱分享35 分钟前
任务管理系统,Java+Vue,含源码与文档,科学规划任务节点,全程督办保障项目落地提效
java·mysql·vue·软件工程·源代码管理
chxii36 分钟前
2.3java运算符
java
余辉zmh1 小时前
【Linux系统篇】:信号的生命周期---从触发到保存与捕捉的底层逻辑
android·java·linux
小布不吃竹1 小时前
Maven的概念与初识Maven
java·maven
中东大鹅1 小时前
Maven进阶
java·maven
嘻嘻嘻嘻嘻嘻ys1 小时前
《Spring Boot 3 + GraalVM原生镜像实战:云原生时代的毫秒启动与性能调优》
前端·后端
嘻嘻嘻嘻嘻嘻ys1 小时前
《Spring Boot 3.0×GraalVM:云原生时代的毫秒级启动实战革命》
前端·后端
serene941 小时前
IntelliJ IDEA 2025.2 和 JetBrains Rider 2025.1 恢复git commit为模态窗口
java·git·intellij-idea