关注我们,设为星标,每天7:30不见不散,架构路上与您共享 回复"架构师"获取资源
大家好,我是架构君,一个会写代码吟诗的架构师。
在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效, 浪费不少生命啊, 自从有了 JRebel 这神器的出现, 不论是更新 class 类还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率。
# JRebel 安装
JRebel 的安装方法有两种, 一种是直接在 Tomcat 启动参数上面加上 JRebel 的参数, 另外一种是以插件的形式装到 IntelliJ IDEA 上, 比较推荐后者。
第一种安装方法:在 Tomcat 启动参数上加参数。
首先先介绍第一种安装方法, 先在硬盘某个位置把 JRebel 解压出来,然后配置 IntelliJ IDEA 的 Tomcat。点 + 号选择 Tomcat Server -> Local
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpr1Z0icoFUSClZfeY6aA883VsMJL1MX32J0oyLMa8fNHr0bamRa61zqQ/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
默认显示如图:
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_png/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicp91Hqy5L77nicsHpt82D1AfB6kxwviaTnOC0IlAJyTby5xGHf8SQNSVhw/640%3Fwx_fmt%3Dpng?imageMogr2/format/webp)
几个关键的地方需要注意的, 就是首先要选择 Deployment 这个选项卡![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_png/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpGlA6nRluvAgepKYQm5xGcLRN7IVYlA043OrPh35ic8icfMjRFGCt8SAQ/640%3Fwx_fmt%3Dpng?imageMogr2/format/webp)
选择自己的项目, 建议选择带 exploded, 这个相当于改 Tomcat 的 CATALINA_HOME, 效率比较高。关注“Java架构师社区”,回复“springcloud”免费获取Spring Cloud分布式电商教程和源码。
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpgEI6icsWcHVibHuNCRLEIdTJmfKQcyCs3w4n9bhVIUCTBibQL7cdXP46Q/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
选择好后, 删掉默认的Make, 提高效率。
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpA6CKvSe48UyYYGjgCqShfEAoITJJ7mMGQEbj7no56gCVRDVw0LNCXg/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
接下来返回 Server 选项卡, 会发现多了一项 On frame deactivation, 如果你刚才没有配置 Deployment 选项卡的话的这项是不会出现的。按如图所示的来配置, 特别需要注意的是 On 'Update' action 和On frame deactivation 这两项目一定要选择 Update classes and resources, 否则类修改热部署不生效, 或者第三方模版框架例如 Freemarker 热部署不生效。关注“互联网架构师”,回复“2T”免费获取Spring Cloud分布式电商教程和源码。![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_png/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpXvo5lqTJ4xzMfpKibyQ5t66bPzjUTnANK7eY2PLBzbT1T2DPGcURLbw/640%3Fwx_fmt%3Dpng?imageMogr2/format/webp)
接下来就是很关键的需要引入 JRebel 的地方了, 在 VM options 的最右边有个箭头, 点进去:
![](https://filescdn.proginn.com/b199b1c2cecc01e0d26ade16bb451b00/2adbb3aba92c5ab6f6716d0d0098653e.webp)
Windows 输入:
-noverify-agentpath:D:/dev_env/jrebel/jrebel_running/lib/jrebel64.dll
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpTtTo0NZGBDpMwqCHcNY0gYicj06vUGGEJG2ibrcyXUSz18KTGcdBJj2g/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
Linux 用这个:
-agentpath:/dev_env/jrebel/jrebel_running/lib/libjrebel64.so
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_png/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpkicsFqjVX5b7vewWs6XJ9Pib4P2phicdEzpvEZc5ZpgZFB8OlHGGpsSEA/640%3Fwx_fmt%3Dpng?imageMogr2/format/webp)
-agentpath:/dev_env/jrebel/jrebel_running/lib/libjrebel64.dylib
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_png/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpRsKXndBbMnxcw76ZXqUO7pVmzXVLWG9rQgH9r6TN6xvUPQ73EvaowA/640%3Fwx_fmt%3Dpng?imageMogr2/format/webp)
配置完成, 直接启动 Tomcat 即可, 不过此方法麻烦, 每次新建项目都要从新配置。
第二种安装方法:使用 IntelliJ IDEA 插件
接下来介绍使用 IntelliJ IDEA 插件的方式启动 JRebel。
首先是安装 JRebel 的插件, 安装方法和其他插件安装方法一样, 不过这里不采用在线安装, 直接选择本地安装, 直接选择插件安装即可。![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpGj3yNZticDLLAKeWy5bebgvtpd4ibKTn2Lc3byZrZcHxyONNZtR8R20Q/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
安装好后在设置里面会多出一项 JRebel 的配置。
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_png/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpp4l3C7XUiaflkBVv3MxSiatt18ggtsfkpyrRuiaeqxfBuyIUOz2RZiaxRw/640%3Fwx_fmt%3Dpng?imageMogr2/format/webp)
在原来运行项目的按钮边上会多出两个绿色的按钮, 如图, 前面那个是 Run, 后面那个是 Debug![](https://filescdn.proginn.com/f6620eda8ad0463e741028cb900d8557/74765684226d4d9b4fbcd525b3ae2a08.webp)
# 自定义容器启动
配置 Tomcat 的方法和直接上面说的直接调用配置方法一样, 同样需要注意的是 On 'Update' action 和 On frame deactivation 这两项目一定要选择 Update classes and resources, 唯一不同的是 VM options 这项不需要填, 放空就好 接下来直接启动项目, 一般选择后面那个 Debug 按钮。
看到 Log 有 JRebel 输出的版本信息, 没有报错就是表示成功执行了, 随便改一个类试试吧。
# Maven 或 Gradle 启动
打开 JRebel Panel 窗口,然后勾选项目或模块即可,这时插件会在 src/main/resources 目录下生成 rebel.xml 文件,这里面指定了插件检测热部署文件夹的路径![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicp3eibjzZe19Ez2rqPJcfwVsQz44XCWcloMFhaiaXNSfXjxiclrvTLCicXmw/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
![](https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/95542/xiaohongshu/mmbiz_jpg/R5ic1icyNBNd5cHuicicrsU7Fibrxz856jGicpdAD425KhBQyibmspaXLSCyq1q9uUOWnicYoTHwJScwQ1ISSO7hibJ1Gyw/640%3Fwx_fmt%3Djpeg?imageMogr2/format/webp)
然后在 Maven projects 或 Gradle projects 窗口,右键 Task 使用 JRebel 启动
启动之后更新资源重新编译(Ctrl + Shift + F9)即可。
JRebel 官网有免费激活服务,到官网注册领取,请支持正版,官网注册,注册完就会显示一串密钥了。
文章来源:https://zeroturnaround.com/software/jrebel/trial
到此文章就结束了。如果今天的文章对你在进阶架构师的路上有新的启发和进步,欢迎转发给更多人。欢迎加入架构师社区技术交流群,众多大咖带你进阶架构师,在后台回复“加群”即可入群。
这些年小编给你分享过的干货
1.优质SpringBoot物流管理项目(附源码)
2.优质ERP系统带进销存财务生产功能(附源码)
3.优质SpringBoot带工作流管理项目(附源码)
4.最好用的OA系统,拿来即用(附源码)
5.SBoot+Vue外卖系统前后端都有(附源码)
6.SBoot+Vue可视化大屏拖拽项目(附源码)
转发在看就是最大的支持❤️