IDEA 配置 JRebel 热部署的方法(推荐)

 更新时间:2021年01月12日 09:12:06   投稿:mrr  
这篇文章主要介绍了IDEA 配置 JRebel 热部署的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

在平常的开发项目中,我们改动代码需要频繁的重启,如果机器配置不好、项目比较大的情况下,重启一次项目,多则 5 ~ 6 分钟,少则 2 ~ 3 分钟,效率低而且极其浪费时间。

如果我们能实现项目启动后,改动代码不需要重启,让代码实现热加载就可以大大提高开发效率,而 JRebel 就是这样的工具,能帮助我们在 99% 的场景下,修改代码不重启,直接热加载就可以让代码生效。

JRebel 是什么

JRebel 是国外团队开发的一款收费工具,JRebel 允许开发团队在有限的时间内完成更多的任务修正更多的问题,发布更高质量的软件产品,JRebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。

JRebel 是一款 JAVA 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

下面我们以 IDEA + SpringBoot 项目为例,来配置下 JRebel 的强大热加载功能。

JRebel 插件安装

首先,我们需要在 IDEA 里面安装好 JRebel 的插件。

settings->plugins->marketplace 内搜索 JRebel,点击安装后,再重启 IDEA(我电脑已经安装过了,所以显示的是 Installed)。

安装好 JRebel 后,我们会看到两个跟 JRebel 相关的东西。

第一:项目启动处,多了 JRebel 图标。

第二:在IDEA设置处,多了个JRebel的选项。

 JRebel 激活

插件安装完成,因为 JRebel 是收费的,我们需要将它激活,我们在 settings->Jrebel&XRebel 部分,点击激活(我已经激活,显示的是 change license)。

点击后,会弹出激活窗口:

通过 JRebel 激活地址获取获取一个激活地址。

激活地址输入到 Team URL 内,邮箱随意输入,点击激活即可。

生成 JRebel 热加载文件

在插件安装、激活完成后,我们需要在项目内生成一下配置文件。

view->ToolWindows 内,我们可以看到 JRebel 选项。

我们点击 JRebel,会弹出一个窗口如下:

我们把红色标识出来的位置,全部勾选上,每个模块下的 resources 会生成一个 rebel.xml 文件。

 IDEA 开启热加载

JRebel 的热加载文件已经生成好后,我们就需要开启 IDEA 的热加载选项。

我们找到启动项目的 Debug Configurations ,进行如下配置:

表示热加载的时候,更新 class 跟 resources 文件。

JRebel 热加载测试

在上面配置完成后,我们通过 JRebel 的 debug 模式进行启动,就是下面圈出来的部分,通过这个进行启动。

控制台会打印以下日志内容,表示已经通过Jrebel启动了:

项目启动后,如果改动了代码,我们就不需要在重启项目,直接点击下面的红色部分,进行热加载,然后改动的部分就生效了,JRebel 的热加载功能,能覆盖 99% 的热加载,无论是改动源代码、xml 文件、新增类,都可以热加载完成而不需要重启,大大提高了我们的开发效率。

 总结

通过上面的配置,我们就可以愉快的使用热加载功能了,提供我们的开发效率,从而拒绝 996,实现 965 的工作机制。

最后在总结一下 JRebel 的配置过程:

在 IDEA 内搜索 JRebel,然后安装插件

在 settings -> JRebbel&XRebel 进行激活插件

在 views->Tool Windows 找到 JRebel,生成热加载文件

在 IDEA 的 Debug Configuraions,开启热加载

JRebel Debug 模式启动项目

改动代码,通过 Update Application 按钮,完成代码的热加载

当然,更多的配置可以通过查看 JRebel 官方文档 进行修改、配置。 

到此这篇关于IDEA 配置 JRebel 热部署的方法的文章就介绍到这了,更多相关IDEA 配置 JRebel 热部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot中使用redis并且执行调试lua脚本

    springboot中使用redis并且执行调试lua脚本

    今天有个项目需要使用redis,并且有使用脚本的需求,本文主要介绍了springboot中使用redis并且执行调试lua脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Spring中@Import的各种用法以及ImportAware接口详解

    Spring中@Import的各种用法以及ImportAware接口详解

    这篇文章主要介绍了Spring中@Import的各种用法以及ImportAware接口详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • mybatis foreach遍历LIST读到数据为null的问题

    mybatis foreach遍历LIST读到数据为null的问题

    这篇文章主要介绍了mybatis foreach遍历LIST读到数据为null的问题,具有很好的参考价值,希望对大家有所帮助。
    2022-02-02
  • SpringBoot+RabbitMQ 实现死信队列的示例

    SpringBoot+RabbitMQ 实现死信队列的示例

    本文主要介绍了SpringBoot+RabbitMQ 实现死信队列的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Java实现自定义阻塞队列

    Java实现自定义阻塞队列

    这篇文章主要介绍了Java如何实现自定义阻塞队列,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-10-10
  • Java 无参数构造函数的应用

    Java 无参数构造函数的应用

    本篇文章主要介绍了Java 无参数构造函数的应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Java异常处理原理与用法实例分析

    Java异常处理原理与用法实例分析

    这篇文章主要介绍了Java异常处理原理与用法,结合实例形式分析了Java异常处理相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • FeignClientFactoryBean创建动态代理详细解读

    FeignClientFactoryBean创建动态代理详细解读

    这篇文章主要介绍了FeignClientFactoryBean创建动态代理详细解读,当直接进去注册的方法中,一步步放下走,都是直接放bean的定义信息中放入值,然后转成BeanDefinitionHolder,最后在注册到IOC容器中,需要的朋友可以参考下
    2023-11-11
  • java时间 java.util.Calendar深入分析

    java时间 java.util.Calendar深入分析

    这篇文章主要介绍了java时间 java.util.Calendar深入分析的相关资料,需要的朋友可以参考下
    2017-02-02
  • 详解在Java中如何优雅的停止线程

    详解在Java中如何优雅的停止线程

    线程,作为并发编程的基础单元,允许程序同时执行多个任务,在Java中,线程可以理解为程序中的独立执行路径,通过使用线程,开发者可以创建更加响应灵敏、效率更高的应用程序,本文小编将给大家介绍一下Java中如何优雅的停止线程,需要的朋友可以参考下
    2023-11-11

最新评论