上一篇:深夜看了张一鸣的微博,让我越想越后怕

来源:https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/jrebel-setup.md

在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效, 浪费不少生命啊, 自从有了 JRebel 这神器的出现, 不论是更新 class 类还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率。

JRebel 安装

JRebel 的安装方法有两种, 一种是直接在 Tomcat 启动参数上面加上 JRebel 的参数, 另外一种是以插件的形式装到 IntelliJ IDEA 上, 比较推荐后者。

第一种安装方法:在 Tomcat 启动参数上加参数

首先先介绍第一种安装方法, 先在硬盘某个位置把 JRebel 解压出来

然后配置 IntelliJ IDEA 的 Tomcat

点 + 号选择 Tomcat Server -> Local

默认显示如图:

几个关键的地方需要注意的, 就是首先要选择 Deployment 这个选项卡

选择自己的项目, 建议选择带 exploded, 这个相当于改 Tomcat 的 CATALINA_HOME, 效率比较高

选择好后, 删掉默认的Make, 提高效率

接下来返回 Server 选项卡, 会发现多了一项 On frame deactivation, 如果你刚才没有配置 Deployment 选项卡的话的这项是不会出现的。免费获取 IDEA 激活码的 6 种方式,你必须清楚。

按如图所示的来配置, 特别需要注意的是 On 'Update' action 和On frame deactivation 这两项目一定要选择 Update classes and resources, 否则类修改热部署不生效, 或者第三方模版框架例如 Freemarker 热部署不生效

接下来就是很关键的需要引入 JRebel 的地方了, 在 VM options 的最右边有个箭头, 点进去:

Windows 输入:

-noverify
-agentpath:D:/dev_env/jrebel/jrebel_running/lib/jrebel64.dll

Linux 用这个:

-agentpath:/dev_env/jrebel/jrebel_running/lib/libjrebel64.so

Mac OS 用这个:

-agentpath:/dev_env/jrebel/jrebel_running/lib/libjrebel64.dylib

配置完成, 直接启动 Tomcat 即可, 不过此方法麻烦, 每次新建项目都要从新配置。

第二种安装方法:使用 IntelliJ IDEA 插件

接下来介绍使用 IntelliJ IDEA 插件的方式启动 JRebel

首先是安装 JRebel 的插件, 安装方法和其他插件安装方法一样, 不过这里不采用在线安装, 直接选择本地安装, 直接选择插件安装即可。

安装好后在设置里面会多出一项 JRebel 的配置

查看一下插件是否有效

绿色的 VALID 表示是有效的

在原来运行项目的按钮边上会多出两个绿色的按钮, 如图, 前面那个是 Run, 后面那个是 Debug

自定义容器启动

配置 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 文件,这里面指定了插件检测热部署文件夹的路径

然后在 Maven projects 或 Gradle projects 窗口,右键 Task 使用 JRebel 启动

启动之后更新资源重新编译(Ctrl + Shift + F9)即可

JRebel 官网有免费激活服务,到官网注册领取,请支持正版,官网注册,注册完就会显示一串密钥了。

https://zeroturnaround.com/software/jrebel/trial/

IDEA 香是香,可能你会说用它要收费,其实它也有开源的社区版本,收费的专业版也很容易申请到激活码,关注公众号互联架构师,回复:2T,可以阅读我分享过的获取正版 IDEA 激活码的教程,很多粉丝都反馈说轻松得到了,感兴趣的都可以去申请,不能太容易了。

感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。

· END ·

最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

正文结束

推荐阅读 ↓↓↓

1.不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

2.如何才能成为优秀的架构师?

3.从零开始搭建创业公司后台技术栈

4.程序员一般可以从什么平台接私活?

5.37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6.IntelliJ IDEA 2019.3 首个最新访问版本发布,新特性抢先看

7.漫画:程序员相亲图鉴,笑屎我了~

8.15张图看懂瞎忙和高效的区别!

一个人学习、工作很迷茫?

点击「阅读原文」加入我们的小圈子!

自从在 IDEA 中用了热部署神器 JRebel,开发效率提升了 10 倍!相关推荐

  1. JAVA热部署神器JRebel

    一.问题描述 当在进行java项目开发时,需要频繁修改代码进行调试,但是每次更改代码后,需要进行项目的重新启动,因此我们需要频繁等待项目重启,这大大浪费了我们的时间.因此使用JRebel来进行项目的热 ...

  2. SpringBoot 热部署神器快速重启的秘密!

    今天咱们来聊聊这个热部署神器 spring-boot-devtools 的运行原理,看看它是怎么用这个 ClassLoader  来实现快速重启,帮我们节省时间的!

  3. Eclipse热部署插件(Jrebel) 下载安装教程

    所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 对于Java应用程序来说,热部署就是在运行时更新Java类文件.在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的 ...

  4. 【Yeoman】热部署web前端开发环境

    本文来自 "简时空":<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利 ...

  5. Idea之热部署插件JRebel+XRebel

    文章目录 Idea之热部署插件JRebel+XRebel 1. devtools热部署 1. 使用流程 2. 缺点 2. Jrebel and XRebel for IntelliJ 1. 安装 2. ...

  6. IDEA社区版热部署插件JRebel and XRebel

    热部署:指在修改项目BUG的时候对JSP或JAVA类进行了修改(除了配置文件外)在不重启WEB服务器前提下能让修改生效. idea中好用的热部署插件--JRebel and XRebel File-& ...

  7. IDEA热部署插件JRebel下载、注册教程

    IDEA热部署插件JRebel下载.注册教程: 下载: 链接:https://pan.baidu.com/s/1FH0W50Am8FSobPsXYko95Q 提取码:ibqw 复制这段内容后打开百度网 ...

  8. IDEA热部署插件Jrebel安装以及使用步骤

    JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效.IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命. ...

  9. IDEA热部署插件JRebel and XRebel

    IDEA热部署插件JRebel and XRebel 嘚吧嘚 下载安装 激活 配置 使用 嘚吧嘚 刚开始用过一段时间的eclipse,其他方面没感觉,但是eclipse的热部署真的是深得我心啊

  10. idea中热部署插件JRebel的激活方式

    idea中热部署插件JRebel的激活方式 一.打开jrebel 激活面板,如图: 二.选中Team URL(connect to online licensing service) 1.在上面的框中 ...

最新文章

  1. 508人决战,北大占绝对优势,2021阿里全球数学决赛真题发布!
  2. CVE-2017-11882 POC 全版本通杀
  3. Pidgin Portable 使用点滴
  4. 通过rsync清除目录的shell脚本
  5. java中system.out.println()是什么意思【笔记自用】
  6. Linux网络编程 | 定时事件 :Linux常见定时方法、定时器链表、空闲断开
  7. 安卓平板排行榜_shopee虾皮台湾安卓市场, shopee虾皮直播下载
  8. 深度学习之 DCN(Deformable Convolution)-可变形卷积
  9. Linux如何查询目录默认权限,如何设置UNIX/Linux中新创建目录或文件的默认权限
  10. python中文叫什么-python中文叫什么
  11. 逆向分析商业软件 010 Editor 及注册机编写
  12. fastreport打印ftp图片_FastReport快速打印(.net)
  13. OpenFOAM学习笔记 案例1之Cavity(1)
  14. 未来全世界油气的发展之路
  15. Git学习笔记之时光穿梭机
  16. 龙ol一键端服务器维护,龙OL一键端纯一键点两下OK问题及解答汇总贴.doc
  17. 110道 Elasticsearch面试题及答案(持续更新)
  18. Flink(60):Flink中通用ModelUtil工具类
  19. 25w年薪!这个行业好起来了!
  20. 探秘Kotlin协程机制

热门文章

  1. Swift编程-闭包Closure
  2. iOS WKWebview JS与OC互相调用,传递数据
  3. 如何利用FL Studio进行听湿录干的声音录制
  4. 《Effective Java》第5条:避免创建不必要的对象
  5. Sklearn流水线交叉验证以及超参数网格交叉评估基础案例实战-大数据ML样本集案例实战...
  6. amazon aws ip check
  7. jquery-8 jquery如何处理css样式
  8. 禁止用户用手机浏览时上下滑动
  9. Split Animation Clip From FBX and Multiply Mode Sprite
  10. Windows Server 2008 R2 成功安装 Serv-U