在IDEA中使用JRebel插件实现热部署(包括mybatis的xml文件)

省流版

下载插件JRebel and XRebelJRebel mybatisPlus extension

详细版

首先,我的IDEA下载了官方中文插件(Chinese ​(Simplified)​ Language Pack / 中文语言包),所以在截图中都是中文,请自行翻译或下载插件后食用本文。
我们在调试java项目的过程中,不可避免的需要修改代码或者xml文件中的SQL,每修改一次就重启一次也太麻烦了,所以可以使用插件来实现热部署,省去大量的重新编译的时间。

JRebel and XRebel

JRebel是一个专门用于Java应用程序热部署的工具,可以帮助开发人员在不重启应用程序的情况下更新Java类和资源文件的更改。在IDEA的插件市场中搜索并下载安装即可。注意,这个插件是收费的,如果想要白嫖,请自行搜索各显神通。下面说一下配置。
激活后一般都会设置JRebel为离线模式。在设置中的JRebel & XRebel选项中设置。

JRebel的配置窗口会出现在左下角。

如果没有,也可以在工具栏的视图中找到。

在配置窗口中,我们可以配置那些服务需要使用热加载。点击配置图标还可以进行更多的配置,一般不做更改。

接下来,根据个人爱好,设置自动热部署,或者手动触发热部署。

在搜索资料的过程中,我发现很多文章都提到了如果要自动热部署要勾选编译器的这个自动构建项目的选项,但是括号中写的很清楚,这个自动构建是在不运行/不调试时工作的,我也做了测试,不勾选此选项也是可以自动热部署的。

默认情况下就是自动热部署的,所以自动热部署只需要配置一下你想要的时间间隔即可。
我个人习惯手动触发(Ctrl + F9

所以需要更改下默认的设置

至此,配置告一段落,用JRebel启动或调试程序便可以实现热部署。

热部署的效果如下图所示,会在控制台上打印一些日志。

JRebel mybatisPlus extension

JRebel插件可以非常简单的实现对Java文件的热部署(如果你使用自动热部署,只需要下载下来勾选一下,然后用JRebel启动或调试程序即可)。但是JRebel要实现对mybatis框架下卸载xml文件里的SQL热部署就有一点麻烦了(官方是支持的,但是有点麻烦),另外除了JRebel之外我尝试了许多办法,都不是那么方便。后来找到了这个插件,安装即可,热部署的效果如下。

看到这个日志打印,就说明xml文件里的SQL也热部署了。但是注意,这个日志不是在自动触发构建或者手动触发构建(Ctrl + F9)之后打印的,而是在接口调用,执行SQL之前打印的。

posted @ 2023-03-18 21:23  大唐冠军侯  阅读(5956)  评论(2编辑  收藏  举报