Idea热加载插件JRebel激活以及使用教程

目录
  • 前言
  • Jrbel插件下载
  • 激活Jrebel
  • 配置自动编译
  • 本地热部署使用
  • 远程热部署使用
  • 总结

前言

在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,例如使用devtool来实现热部署,但是在功能上它也有所限制,如果新增方法或者修改方法参数后,热部署是不生效的。因此对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。

因此,在这里为大家带来一款Idea集成的热加载插件-JRbel。但是这个插件是需要收费的,故在这里为大家带来激活使用的详细教程,手把手教学一波。亲测可用!

Jrbel插件下载

首先在Idea中找到setting->plugins,在MarketPlace中搜索该插件。

点击“应用”后,按要求重启一下Idea,使下载的Jrebel插件生效。

这个时候在Idea主界面侧边栏上就有Jrebel的安装指南出现了。

然后我们根据Jrebel的安装指南进行安装即可。

激活Jrebel

安装第一步就需要对Jrebel进行激活,这里笔者推荐第一种激活方式。

然后我们需要配置license server地址,这里我们通过一个JrebelBrainsLicenseServerforJava的激活jar包来实现,通过将jar包放在服务器上运行,然后就可以通过我们自己的服务器来作为license server地址了。jar报地址来源于链接: https://pan.baidu.com/s/1rrn-6F26JpD5RSsbJV3-hQ 密码: dscu。也可以在笔者资源里自行获取。

如果放在服务器上,特别是腾讯云,阿里云之类的,记得开放服务器防火墙,安全组策略以及Linux系统防火墙上的1008端口。没有服务器也不要紧,用自己电脑也可。只不过不能一直把jar包运行着。

通过java的命令运行jar包。

java -jar JrebelBrainsLicenseServerforJava-1.0-SNAPSHOT-jar-with-dependencies.jar -p 1008 &

C:\Users\young\Desktop\开源工具集>java -jar JrebelBrainsLicenseServerforJava-1.0-SNAPSHOT-jar-with-dependencies.jar -p 1008 &
2023-02-05 11:00:30.612:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
2023-02-05 11:00:31.107:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:1008
License Server started at http://localhost:1008
JetBrains Activation address was: http://localhost:1008/
JRebel Activation address was: http://localhost:1008/{tokenname}, with any email.

这里jar包就运行成功了,可以看到,JRebel地址还需要一个{tokenname},这里可以通过GUIDS在线获取工具进行获取。得到一个随机的tokenname值,如果过时了,重新刷新生成即可。

然后填入最终的license server地址:

http://192.168.98.1:1008/ fab341e4-f267-41df-ad7d-d37a3952e710

注意:的是这里要添加上jar包的开放端口1008

然后输入一个可用的邮箱地址,即可。点击激活便可成功!

但是到这还没完,虽然现在 Jrebel就能正常使用了,但很多人往往用不到几天就提示激活失败, 无法使用了,甚至jar包结束运行后激活就失败了。原因在于Jrebel激活之后默认是联网使用的 , 在该模式下 , Jrebel会一直联网监测激活信息。所以要调为离线使用的,操作方法就是进入Jrebel设置中点击Work offile 按钮即可。使其变为离线模式即可。

另外我们也可以在这设置手动热部署的间隔平均时间。

这样激活就算彻底完成了。

但是这时候仅仅这点配置,功能还是不能正常使用的。还需要我们在Idea中设置自动编译。

配置自动编译

找到setting->build,Excution->Compiler,并勾选Build project automatically。

然后找到setting->Advanced Setting,勾选Compiler中的

Allow auto-make to start even if developed application is currently running

这里笔者是基于idea2022版本配置的,基本上配置完成就可以了。

本地热部署使用

配置完Jrebel后,如果在本地使用,可以通过Idea界面左下角的Jrenel面板对自己的项目进行设置即可。

左侧的图标对应的本地热部署,右侧的对应远程热部署。

勾选成功后项目或者模块中的src/resource目录下回生成一个rebel.xml文件

主启动类,和运行栏也会出现Jrebel运行的图标。

如果发现启动后部分更新效果并没有,也可尝试在启动类上配置一下更新资源的配置。

都配置好了以后,可以先试一下,第一次运行要重新编译,打包,执行。如果不生效可以重启一次idea, 一般来讲重启后都可以生效。

远程热部署使用

远程热部署需要在服务器上安装并JRebel,成功后需要设置远程连接的密码,在JRebel的根目录下执行以下命令:

java -jar jrebel.jar -set-remote-password 123456

这里设置的123456则是远程的密码,在IDEA连接服务器的时候需要。

此时将Spring Boot项目打包成一个Jar,上传到服务器,执行以下命令启动项目:

nohup java -agentpath:/www/server/jrebel/lib/libjrebel64.so  -Drebel.remoting_plugin=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9083 -jar xxx.jar &

libjrebel64.so这个文件是JRebel的lib目录下的文件。-Xdebug之后到-jar之前这些命令使是开启远程调试的,如果不需要的可以去掉。

此时在IDEA中需要设置连接到刚才启动的远程项目,打开File->setting->JRbel&XRebel->JRbel Remote Servers,如下图:

步骤如下:

  1. 点击+号添加一个服务
  2. 填写信息
  • server name随便起个服务的名字
  • server URL格式:http://ip:port,这里的ip是服务器的IP,port是项目端口号。
  • 远程密码则是上文设置的JRebel的密码123456。

3.点击OK,即可添加成功。

以上设置成功后,点击右上角的远程部署按钮,下图中的②号按钮,则会自动更新服务器上已启动项目的代码使之本地修改在服务端自动生效:

只要本地有了更改,点击远程热部署按钮,则会自动上传代码到服务器端并实时更新,不用重新启动项目。

注意:如果是多模块开发,比如分为api(最终的Jar包),commons(公共包),service(业务层的包),最终打包运行在服务器端的是api这个模块,其余两个模块都是属于依赖模块,虽然在JRebel远程热部署选项中都勾选了,但是它们的代码更改并不会在服务端生效。

这个如何解决呢?

很简单,在api项目下的rebel-remote.xml文件中将其余两个模块添加进去,默认的如下:

<?xml version="1.0" encoding="UTF-8"?><rebel-remotexmlns="http://www.zeroturnaround.com/rebel/remote">
<id>xx.xx.xx.api</id>
</rebel-remote>

添加之后的代码如下:

<?xml version="1.0" encoding="UTF-8"?><rebel-remotexmlns="http://www.zeroturnaround.com/rebel/remote">
<id>xx.xxx.xx.api</id>
<id>xx.xx.xx.service</id>
<id>xx.xx.xx.core</id>
</rebel-remote>

以上的<id>标签中指定的是模块的包名(package)。

好了,Jrebel插件的激活使用就搞定了~

总结

到此这篇关于Idea热加载插件JRebel激活以及使用的文章就介绍到这了,更多相关Idea热加载插件JRebel使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IDEA 高版本 PlantUML 插件默认主题修改的详细过程

    目录 一.问题描述 1.1 背景 1.2 示例对比 二.为什么? 2.1 官网线索 2.2 插件源码 2.3 官方账号 三.怎么办? 3.1 单图处理 3.2 一劳永逸 4.总结 一.问题描述 1.1 背景 PlantUML 是非常不错的使用脚本画图的工具,效率很高.大家可以选择在官网上进行作图,但很多人会担心公司内部业务图泄露的风险,而且每次都要打开官网也不是很方便. 很多人会选择在 IDEA 中安装 PlantUML Integration 插件.但是高版本的 IDEA PlantUML I

  • chatgpt国内镜像 pycharm idea插件使用详解

    ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序,于2022年11月30日发布   .ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件.视频脚本.文案.翻译.代码,写论文等任务. 本文重点介绍chatgpt国内镜像 pycharm idea插件,一起看看吧! 这里是引用python可以

  • IDEA Ui设计器JFormDesigner 永久激活插件+注册机(亲测一直在用)

    目录 一.安装插件 二.激活 三.使用 一.安装插件 1.1直接用离线安装,将安装包拖到 IDEA窗口就安装好了,需要重启IDEA生效 (推荐) 1.2 直接在idea上下JFormDesigner-7 关闭idea,重启一下, 右键 ------>新建 看有无JFormDesigner Form的选项,有就可以关闭idea了 二.激活 .找到idea插件安装目录 找到此路径,进入config文件夹 再进入plugins文件夹就可以看到JFormDesigner的安装文件夹 找到在JFormDe

  • IDEA中的Redis插件连接Redis服务器

    目录 一.IDEA安装Redis插件 二.IDEA连接Redis服务器 IDEA中的Redis插件作为Redis的可视化工具,可以通过该插件连接Redis服务器,并进行增删改查操作. 一.IDEA安装Redis插件 1.点击 File->Setting 2.点击Plugins 3.在Browse Repositories中输入redis 4.点击Redis插件 5.下载并重启 二.IDEA连接Redis服务器 安装完后,通过右侧工具栏或File->Setting->Other Setti

  • 解决IDEA安装插件搜索不到插件的问题

    解决idea安装所需插件,插件搜索不到的问题 1.通过设置代理和去掉使用安装链接的方式来解决的 File–>Settings–>Appearance & Behavior–>System Settings—>HTTP Proxy(修改为图片所示) 2.在系统设置中将更新选项中的“use secure connection” 取消勾选(有的没有下面的选项,直接跳过) 试试看能否搜到,不行继续. 3.关闭防火墙 4.重启idea(要求能杀死进程),而不是只关闭窗口. 如果还不行

  • IDEA插件之彩虹括号Rainbow Brackets使用介绍

    目录 介绍 使用 括号高亮 高亮选中代码块 暗淡未选中代码块 配置 使用感想 收费版本:Rainbow Brackets 免费版本:Rainbow Brackets Lite 介绍 一款可以将 (圆括号) [方括号] {花括号} <尖括号> 用不同颜色标记出来, 方便使用者快速识别代码层次, 提高开发效率! 支持的语言:Java.Scala.Clojure.Kotlin.Python.Haskell.Agda.Rust.JavaScript.TypeScript.Erlang.Go.Groov

  • Idea热加载插件JRebel激活以及使用教程

    目录 前言 Jrbel插件下载 激活Jrebel 配置自动编译 本地热部署使用 远程热部署使用 总结 前言 在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,例如使用devtool来实现热部署,但是在功能上它也有所限制,如果新增方法或者修改方法参数后,热部署是不生效的.因此对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作.对于某些大型的应用来说,每次的重启都需要花费大量的时间成本. 因此,在这里为大家带来一款Idea

  • 基于webpack-hot-middleware热加载相关错误的解决方法

    错误1:找不到__webpack_hmr GET http://127.0.0.1/__webpack_hmr 404 (Not Found) 在webpack的entry配置添加引用路径'webpack-hot-middleware/client?path=/__webpack_hmr&timeout=10000&reload=true',相关的参数最好不要省略,否则会出现无法自动刷新的问题. 处理脚本如下: // 准备webpack配置信息 let hotMiddlewareScrip

  • 使用webpack配置react-hot-loader热加载局部更新

    目录 webpack配置react-hot-loader热加载局部更新 步骤1 步骤2 步骤3 步骤4 步骤5 步骤6 react-hot-loader热加载不生效的可能问题 总结 webpack配置react-hot-loader热加载局部更新 有人会问 webpack-dev-server 已经是热加载了,能做到只要代码修改了页面也自动更新了,为什么在 react 项目还要安装 react-hot-loader 呢? 其实这两者的更新是有区别的,webpack-dev-server 的热加载

  • 详解使用JRebel插件实现SpringBoot应用代码热加载

    前言 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,在我之前的文章里面给读者介绍了使用springboot-devtools实现热加载的方法.本文就给大家介绍另外一种方式:使用Jrebel插件完成修改代码及资源的自动更新功能. 但是对于这个功能很多人对功能的叫法有争议,笔者查询了维基百科.官方文档,没有得到合理的答案,也没有权威的定义,笔者知道的就有:热启动.热加载.

  • Spring Boot热加载jar实现动态插件的思路

    目录 一.背景 二.热加载 jar 包 三.动态注册 Bean 3.1. 启动时注册 Bean 3.2. 运行时注册 Bean 四.总结 五.完整 demo 一.背景 动态插件化编程是一件很酷的事情,能实现业务功能的 解耦 便于维护,另外也可以提升 可扩展性 随时可以在不停服务器的情况下扩展功能,也具有非常好的 开放性 除了自己的研发人员可以开发功能之外,也能接纳第三方开发商按照规范开发的插件. 常见的动态插件的实现方式有 SPI.OSGI 等方案,由于脱离了 Spring IOC 的管理在插件

  • springboot基于IDEA环境热加载与热部署教程

    目录 一.使用Jrebel插件 二.devtools实现热加载 1.1.引入devtools的maven依赖 1.2.设置IDEA 1.3.修改一下application.properties配置 1.4.LiveReload插件 1.5.最后测试一下 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,手动刷新浏览器查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?肯定是有的,但是对于这个功能很多人对功能的叫法有争议,笔者查询了

  • 浅谈Angular4实现热加载开发旅程

    本文介绍了Angular4实现热加载开发,分享给大家,具体如下: 安装插件 npm install @angularclass/hmr -D 配置插件 // main.ts if (environment.production) { enableProdMode(); }else { if (module.hot) { module.hot.accept(); module.hot.dispose(() => { let _styles = document.head.querySelector

  • 详解webpack2+node+react+babel实现热加载(hmr)

    前端工程化开发的一个重要标志就是热替换技术,它大大的提高开发效率,使我们专注于写代码,webpack2中的热替换相比较1更加简洁. 1. 先看效果 2.目录结构 3.项目目录结构文件描述 bin 执行文件 node_modules node包 public 静态资源文件 static 静态资源 dist 编译后文件 src 项目js文件 .bablrc babel配置文件 webpack.config.dev.js开发模式webpack配置 webpack.config.pro.js生产模式we

  • IntelliJ IDEA 热部署插件JRebel 安装使用图文教程

    IntelliJ IDEA 简介 IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(git.svn.github等).JUnit.CVS整合.代码分析. 创新的GUI设计等方面的功能可以说是超常的.IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主.它的旗舰版本还支持HTML,CSS,

  • 详解关于webpack多入口热加载很慢的原因

    之前为公司搭建了套webpack多页面应用脚手架,起初用得挺爽,资源整合打包,组件化开发,各种组件复用,需要什么就拿什么,后来入口有50个页面了,慢慢的发现了每次按保存后的热加载等待时间越来越长,需要等待10几秒,实在太影响开发效率,于是我查找原因. 观察发现,每次到热加载时会在emitting HtmlWebpackPlugin这停留很久. 于是我想知道它到底停留了多长时间呢? 在package.json内加入--profile,它会告诉你编译过程中哪些步骤耗时最长. 停止npm,重新运行we

随机推荐