百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

使用JRebel实现SpringBoot热部署

bigegpt 2024-08-06 11:46 3 浏览

前几天和各位朋友说过,springboot+shiro+redis +mybatis 项目出现了问题,因为热部署问题导致从redis 读取的对象,获取属性时报错,所以找了一下方法,也放了一篇文章,看到留言,说使用jrebel 实现热部署,我今天特意百度了一下,发现还是很不错的,所以把这篇文章发出来,希望可以帮到有需要的朋友:

实现SpringBoot热部署的方式

实际上Springboot已经提供了实现热部署的方法了。那就是你只需要引入依赖【springboot-devtools】就可以了 。具体可以参考这篇文章springboot-devtools 热部署

那为什么我们还需要JRebel呢?

  • 额外引入的依赖实际上生产环境并不需要,开发者引入后容易误提交到线上。
  • springboot-devtools方式的热部署在功能上有限制。如在方法内的修改可以实现热部署,但是新增的方法或者修改方法参数之后热部署是不生效的。
  • 相对于JRebel,springboot-devtools方式热部署的速度可能有点慢

JRebel实战

idea下安装JRebel插件

安装JRebel插件很简单,只需要搜索一下就直接安装了。


1.png

注意:如果不是通过在线安装的话,一定要注意要下载最新版本的JRebel插件。不然低版本的插件很可能不支持你当前所使用的Springboot版本。

安装好之后工具栏会多两个图标。


安装好之后

激活JRebel插件

由于JRebel插件需要激活后才可以使用,所以安装之后要激活。虽然JRebel插件提供了试用期,但是只有14天的时间,所以对于想快速尝鲜的同学可以一试。不过如果你想要长期使用JRebel插件的话,那么就需要先激活才行。

激活JRebel插件我也是搜索了很长时间才搞定的。基本上网上的方法如下:

注册一个twitter或者facebook账号然后登陆就可以免费拿到激活码了。

然后我自己试了一下,JRebel现在已经关闭这种方式了。


关闭免费激活码

不过,黄天不负有心人啊,终于还是搜索到了。请参考这边文章来破解 Jrebel 2018.1 激活教程

激活好之后licese是绿色的,而且试用期为180天【我是18年6月8号注册的】。


激活后

使用JRebel插件

安装还之后就可以使用下面两种方式来run了。之后的所有修改就读可以实现热部署啦。


run with JRebel

使用JRebel插件注意点

由于JRebel是实时监控class文件的变化来实现热部署的,所以在idea环境下需要打开自动编译功能才能实现随时修改,随时生效。

  1. 在设置中打开自动编译
    如图,在设置中打开即可。
    自动编译

2.打开运行时编译
按快捷键 Shift+Ctrl+Alt+/ ,选择 Registry


打开运行时编译

\

勾选如图所示


8.png

JRebel官方文档

IntelliJ IDEA
Enable automatic compilation

JRebel实战效果

1.Run with JRebel


run with JRebel

2.演示修改效果

  • 方法内修改代码
    -----------------------------------------修改之前------------------------------------------------
    方法内修改代码之前1

方法内修改代码之前2

-----------------------------------------修改之后------------------------------------------------


方法内修改代码之后1

方法内修改代码之后2

  • 增加方法
    -----------------------------------------修改之前------------------------------------------------
    增加方法修改之前1
    增加方法修改之前2

-----------------------------------------修改之后------------------------------------------------


增加方法修改之后1


增加方法修改之后2

  • 修改配置文件
    -----------------------------------------修改之前------------------------------------------------
    修改配置文件之前1

修改配置文件之前2

修改配置文件之前3

-----------------------------------------修改之后------------------------------------------------


修改配置文件之后1


修改配置文件之后2

可以看到JRebel基本上满足了我们日常开发中的所有需求了。如果还有啥不满足的话,那么我估计JRebel在最新的版本中一定会有所体现的。


另外这一世一篇jrebel 实现web 项目的热部署。

jrebel+idea 进行热部署配置

https://www.cnblogs.com/yinfengjiujian/p/9100372.html

相关推荐

Linux 系统启动完整流程

一、启动系统流程简介如上图,简述系统启动的大概流程:1:硬件引导UEFi或BIOS初始化,运行POST开机自检2:grub2引导阶段系统固件会从MBR中读取启动加载器,然后将控制权交给启动加载器GRU...

超专业解析!10分钟带你搞懂Linux中直接I/O原理

我们先看一张图:这张图大体上描述了Linux系统上,应用程序对磁盘上的文件进行读写时,从上到下经历了哪些事情。这篇文章就以这张图为基础,介绍Linux在I/O上做了哪些事情。文件系统什么是...

linux入门系列12--磁盘管理之分区、格式化与挂载

前面系列文章讲解了VI编辑器、常用命令、防火墙及网络服务管理,本篇将讲解磁盘管理相关知识。本文将会介绍大量的Linux命令,其中有一部分在“linux入门系列5--新手必会的linux命令”一文中已经...

Linux环境下如何设置多个交叉编译工具链?

常见的Linux操作系统都可以通过包管理器安装交叉编译工具链,比如Ubuntu环境下使用如下命令安装gcc交叉编译器:sudoapt-getinstallgcc-arm-linux-gnueab...

可算是有文章,把Linux零拷贝技术讲透彻了

阅读本文大概需要6.0分钟。作者:卡巴拉的树链接:https://dwz.cn/BaQWWtmh本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念...

linux软链接的创建、删除和更新

大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作。同样的,在系统级别也有。在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能...

Linux 中最容易被黑客动手脚的关键目录

在Linux系统中,黑客攻击后常会针对关键目录和文件进行修改以实现持久化、提权或隐藏恶意活动。本文介绍下黑客最常修改的目录及其手法。一、/etc目录关键文件有:/etc/passwd和/et...

linux之间传文件命令之Rsync傻瓜式教程

1.前言linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。在本教程中,我们将通过实际使用案例和最常见的rsync选项的详细说...

Linux下删除目录符号链接的方法

技术背景在Linux系统中,符号链接(symlink)是一种特殊的文件,它指向另一个文件或目录。有时候,我们可能需要删除符号链接,但保留其指向的目标目录。然而,在删除符号链接时可能会遇到一些问题,例如...

阿里云国际站注册教程:aa云服务器怎么远程链接?

在全球化的今天,互联网带给我们无以计数的便利,而云服务器则是其中的重要基础设施之一。这篇文章将围绕阿里云国际站注册、aa云服务器如何远程链接,以及服务器安全防护如Ddos防火墙、网站应用防护waf防火...

Linux 5.16 网络子系统大范围升级 多个新适配器驱动加入

Linux在数据中心中占主导地位,因此每个内核升级周期的网络子系统变化仍然相当活跃。Linux5.16也不例外,周一最新与网络相关的更新加入了大量的驱动和新规范的支持。一个较新硬件的驱动是Realt...

搭建局域网文件共享服务(Samba),手机电脑都能看喜欢的影视剧

作为一名影视爱好者,为了方便地观看自己喜欢的影视作品,在家里搞一个专门用来存放电影的服务器是有必要的。蚁哥选则用一台Ubuntu系统的电脑做为服务器,共享影音文件,其他同一个局域网内的电脑或手机可以...

分享一个实用脚本—centos7系统巡检

概述这周闲得慌,就根据需求写了差不多20个脚本(部分是之前分享过的做了一些改进),今天主要分享一个给平时运维人员用的centos7系统巡检的脚本,或者排查问题检查系统情况也可以用..实用脚本#!/bi...

Linux 中创建符号链接的方法

技术背景在Linux系统里,符号链接(SymbolicLink),也被叫做软链接(SoftLink),是一种特殊的文件,它指向另一个文件或者目录。符号链接为文件和目录的管理带来了极大的便利,比...

一文掌握 Linux 符号链接

符号链接(SymbolicLink),通常被称为“软链接”,是Linux文件系统中一种强大而灵活的工具。它允许用户创建指向文件或目录的“快捷方式”,不仅简化了文件管理,还在系统配置、软件开发和日...