Java 项目热部署,节省构建时间的正确姿势_如果没有 jrebel,您的构建 + 重新部署需要多长时间?-程序员宅基地

技术标签: Jrebel  java  idea  随笔  热部署  

上周末,帮杨小邪(我的大学室友)远程调试项目。SpringBoot 构建,没有热部署,改一下就得重启相关模块。小小的 bug ,搞了我一个多小时,大部分时间都还在构建上(特么,下次得收钱才行)。我跟他说有个热部署插件叫 Jrebel,可以热部署,每次修改完代码需要测试的时候,只要 Build 一下就行?所有 Java 项目都能使用,他居然不知道。作为一个英俊男孩,我不得不写下这篇文章教他使用热部署。

Jrebel 是什么?

JRebel 是一款 JAVA 虚拟机插件,它使得 JAVA 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel 使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程。

简而言之,不管你修改了类还是资源,只需要重新 Build 一下相关的类,改动就直接反映到你的应用程序了。

Jrebel 安装

打开你的 IntelliJ IDEA 插件市场,搜索 Jrebel ,第一个就是。点击 install 安装,完了之后重启 IDEA。

Jrebel 插件

Jrebel 激活

重启完之后会弹出如下框提示激活,选中 Team Url ,其中邮箱随便填就行,认证服务地址的格式是 https://jrebel.qekang.com/{GUID} 它需要一个 guid 参数,这个参数需要从 guid 服务器生成。它的地址是 https://www.guidgen.com/,直接打开生成一个 guid (不要用下图这个,可能失效),如下图:

生成的 guid

复制 guid 填充到认证服务地址后面。比如:https://jrebel.qekang.com/7bea5149-69a5-4270-8190-3f049dc8d2d6,填到下图的认证服务地址栏。

Jrebel 激活

点击 change license ,激活成功。

Jrebel 激活成功

Jrebel 使用

点击 IDEA 左侧边栏边的 Jrebel 选项,配置需要热部署的模块,如下图,直接打上勾就可以。

选择模块

一切准备就绪之后,你会发现工具栏多了如下图的这两个图标:一个是 Jrebel run 模式启动项目,一个是 Jrebel debug 模式启动(一些需要测试的模块,一般使用这个模式),现以 debug 模式启动 xxxx_collect 模块。

Jrebel 启动

启动成功。假如,我现在对应用程序的效果不满意,又修改了刚刚勾选的 xxxx_collect 模块下的名为 xxxxFeignClientApi 的java 类,如下图所示:

修改的 java 类

这是不需要重新启动,只需要重新 build 一下相关类即可,如果改动多的话,直接 build 模块就行。

重新 Build

以上就是 Jrebel 的使用教程,贼方便。Jrebel 每年可以省去部署用的时间花费高达 5.25 个星期(Jrebel 官方说的)。

最后

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「一个优秀的废人」,关注后回复「1024」送你一套完整的 java 教程。

教程节选

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/turodog/article/details/103724116

智能推荐

强化学习与计算机视觉:提升图像识别与分类能力-程序员宅基地

文章浏览阅读899次,点赞25次,收藏19次。1.背景介绍计算机视觉和强化学习分别是人工智能领域的两个重要分支。计算机视觉主要关注计算机对图像和视频的理解和处理,强化学习则关注智能体在环境中采取行动以获得最大化奖励的过程。近年来,随着深度学习技术的发展,计算机视觉和强化学习的研究取得了显著进展。本文将探讨如何将强化学习与计算机视觉结合,以提升图像识别和分类能力。2.核心概念与联系2.1计算机视觉计算机视觉是计算机对图像和视频进..._强化学习计算机视觉

【HTML 教程系列第 13 篇】HTML 中的超链接标签 a,看这一篇就够了_html 超链接-程序员宅基地

文章浏览阅读1w次,点赞54次,收藏129次。一:什么是超链接。二:如何实现超链接。三:文本超链接、图片超链接。四:a 标签的 target 属性。五:超链接的外部链接、内部链接、锚点链接。_html 超链接

can总线不加末端电阻_隔离接地的原理、完善总线接口保护电路及阻容回路接地的必要性...-程序员宅基地

文章浏览阅读565次,点赞2次,收藏10次。CAN与485都是工业通信中常用的现场总线,各位工程师对于总线隔离方案想必都极为熟悉,但可能会遇到总线采用了隔离方案依旧通讯异常的情况,本文将带您一起探讨总线隔离后该如何接地? 前言为保证总线网络的通讯稳定性,通讯接口通常会做隔离,隔离的主要目的:安规考虑:保护设备及人身安全,隔开潜在的高压危险;提高通信的稳定性:消除地电势差的影响;提高器件的可靠性:消除地环路影响;低耦合:提高系统间的兼容性。目..._can必须要端接回路

【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存_yolov8 模型保存-程序员宅基地

文章浏览阅读1.2k次。【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存_yolov8 模型保存

大数据毕业设计:基于python商品数据采集分析可视化系统 淘宝数据采集 大数据 大屏可视化(附源码+论文)_python商品数据分析可视化系统-程序员宅基地

文章浏览阅读1.9k次,点赞30次,收藏24次。大数据毕业设计:基于python商品数据采集分析可视化系统 淘宝数据采集 大数据 大屏可视化(附源码+论文)_python商品数据分析可视化系统

TOAD中文文档-程序员宅基地

文章浏览阅读172次。目录一.Toad功能综述二.系统需求三.安装指南四.快速入门1. Schema browser的用法简介2. SQL Editor的使用介绍3. Procedure Editor的用法介绍4. 如何进行PLSQL的debug5. 如何使用SQLab Xpert优化SQL6. 如何使用SQL Modeler来编写查询7. 如何使用Toad的DBA方面的功能 一、 Toad..._sqlab xpert 如何使用

随便推点

年轻人为什么更喜欢真无线蓝牙耳机?2020五款高性价比蓝牙耳机推荐_jbl为什么只支持sbc-程序员宅基地

文章浏览阅读503次。自分离式腔体的耳机首次推出之后,真无线耳机的风潮席卷世界。很明显,真无线耳机让用户体验到了耳机与身体一体而行的自由体验,观感体验可谓是颠覆性的。蓝牙耳机的好处显而易见:首先,摆脱线材束缚,真正实现无拘无束这一点是显而易见的,纯粹的真无线蓝牙耳机再也没有线材的连接,真正的解放双手,并且轻盈、自在。在有些特定场合,比如运动、通勤等场合,一款真无线蓝牙耳机绝对是首选。其次,开启新的音频传输方式,真无线蓝牙耳机时代对比传统的入耳式“无线蓝牙耳机”,真无线蓝牙耳机的连接不仅是耳机和信号发射设备之间_jbl为什么只支持sbc

vue 项目中添加DES加密-程序员宅基地

文章浏览阅读615次,点赞24次,收藏20次。vue 项目中添加DES加密

十进制,二进制,八进制,十六进制之间转换-程序员宅基地

文章浏览阅读355次。一. 十进制转二进制二. 二进制转十进制三. 十进制转八进制四. 八进制转十进制五. 十进制转十六进制

域控制器常用组策略功能配置说明_在用户策略处理过程中遇到下列警告:windows无法应用deployed printer conne-程序员宅基地

文章浏览阅读794次。Windows 无法应用 Deployed Printer Connections 设置。Deployed Printer Connections 设置可能具有自身的日志文件。请单击“详 细信息”链接限制windows更新限制windows版本禁止使用USB存储设备通过域控制器批量激活_在用户策略处理过程中遇到下列警告:windows无法应用deployed printer connection

SpringBoot2.x系列教程之SpringBoot2.x配置大全04_DataSource配置_spring.datasource.connection-timeout-程序员宅基地

文章浏览阅读2k次。SpringBoot2.x系列教程之SpringBoot2.x配置大全04_DataSource配置DataSource相关配置:spring.dao.exceptiontranslation.enabled: 是否开启PersistenceExceptionTranslationPostProcessor,默认为truespring.datasource.abandon-when-..._spring.datasource.connection-timeout

Python番外篇:爬取国际空间站实时经纬度 并用Pygame可视化位置_国际空间站数据获取-程序员宅基地

文章浏览阅读1.7k次,点赞5次,收藏3次。hello,大家好,我是wangzirui32,今天在网上看到一个Python程序,是爬取国际空间站实时经纬度并显示到地图上,我自己也想学习做一个这样的项目,顺便巩固亿下Python的基础知识。学习目录1. 国际空间站经纬度查询网址2. 图片素材3. 创建项目文件夹4. 编写代码get_data.py 获取经纬度数据ISS.py 创建空间站对象show_map.py 显示ISS位置5. 展示结果1. 国际空间站经纬度查询网址http://api.open-notify.org/iss-now.jso_国际空间站数据获取