JRebel插件实现远程服务器即时热部署

简介

JRebel是一款专为Java程序开发人员设计的热部署插件,使用 JRebel插件后,不需要重启项目即可马上应用更改,加快了Java 开发流程,提高开发效率。

支持的IDE

在这里插入图片描述

安装

本教程基于IntelliJ IDEA进行安装,版本2021.1.3 Ultimate,JRebel版本:2022.3
传送门: IDEA配置JRebel热部署(超级详细图文教程)
注意事项:此教程未说明对Mybatis的支持,如果需要使用Mybatis则需要额外安装一个JRebel mybatisPlus extension插件,且项目的mybatis plus starter版本为3.1.1+

使用

JRebel 支持的操作:

  1. 新增方法、类、接口等

  2. 修改方法体内部代码,返回值类型

  3. 修改部分yaml配置文件

  4. 新增/删除类的字段、方法等

  5. 新增/删除/修改 Spring Bean 配置

  6. 新增/修改资源文件

  7. 调整日志级别

JRebel 不支持的操作:

  1. 修改类的继承关系

  2. 修改部分类的注解,例如项目初始化相关注解

  3. 修改枚举

  4. 修改类的类加载器关系

  5. 修改匿名类

使用JRebel配置远程服务器的热部署功能

jrebel同样支持远程服务器的热部署功能,传统项目部署方式需要先停服,然后删除旧包,发布新包再启动,耗时较长,使用jrebel无需重启项目,可以直接动态加载更改的类到运行中的JVM。
本节使用Centos服务器+docker环境演示,开发环境使用docker-compose插件一键部署
一.服务器配置

1.1. 服务器安装JRebel Agent依赖

首先找到本地idea安装破解好的JRebel文件夹,一般路径位于

C:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2021.1\plugins\jr-ide-idea\lib

在这里插入图片描述
拷贝此文件夹放到服务器任意一个目录,例如/lib/jrebel6,如果是docker-compose则直接放在项目某文件夹下,在compose文件中使用COPY命令复制文件夹到项目环境
在这里插入图片描述
1.2.设置访问密码
服务端需要设置访问密码,和本地开发环境进行连接,提升安全性,在项目启动命令之前执行以下命令:

java -jar /lib/jrebel6/jrebel.jar -set-remote-password 要设置的密码

在这里插入图片描述

1.3.启动脚本添加参数

-agentpath:/lib/jrebel6/lib/libjrebel64.so -Drebel.remoting_plugin=true

在这里插入图片描述

其中/lib/jrebel6/lib是存放jrebel依赖的路径,配置好后需要将此项目先发布到docker使其生效,并开放相关端口,让本地IDE可以连接到远程

二.idea配置
2.1 打开JRebel Panel,勾选远程部署复选框
在这里插入图片描述
勾选此选项后,项目的resources目录下将会多出来一个rebel-remote.xml文件,后面部署到服务器会用到
在这里插入图片描述

2.2 配置服务器地址
打开Idea设置->JRebel&XRebel->JRebel Remote Servers,点击+号
在这里插入图片描述
输入服务器访问地址,没有域名的话ip+端口也可以,测试连接,连接成功,此时配置完毕
注意: 必须要启动本地项目,且本地项目启动后,更改的代码首先需要在本地热部署成功,才能点击如下按钮更新到远程服务器
在这里插入图片描述
显示如下弹窗,热部署成功:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值