IDEA插件JRebel激活并实现热部署

最近整理idea插件时,发现装了jrebel但没使用,花了点时间配置,在此记录。使用jrebel热重载确实比update要快一些,热部署也省去了打包上传服务器的时间,提高了开发效率。本文部署的是tomcat项目,不过springboot也差不多。

  • 使用的idea版本:2020.3
  • 使用的jrebel版本:2023.3.2

目录

1.安装jrebel

1.1安装

1.2激活

1.3本地使用

2.热部署

2.1服务器安装jrebel

2.2服务器激活jrebel

2.3配置热部署

3.远程Debug

4.参考链接


1.安装jrebel
1.1安装

打开File->Settings->plugins,在Marketplace中搜索jrebel,点击install安装

1.2激活

安装完成后重启idea,在File->Settings中会新增一栏JRebel & XRebel

需要在此页面配置Team URL激活jrebel

第一行是我们需要生成的url,第二行是任意邮箱

第一行的url网上大部分教程都是使用某个网址+在线生成的GUID拼接,但我没有成功,所以我的方法是去github搜jrebel,把搭建好的项目下载下来运行一下,就得到了激活需要的url

激活后打开File->Settings->JRebel & XRebel,点击work offline设置为离线工作防止过期,如图为已激活状态。

1.3本地使用

激活后需要打开File->Settings->Build,Execution,Deployment->Complier,勾选自动构建项目,这样才能实现jrebel热重载。

打开侧边栏的jrebel工具会发现两个图标,左边是本地右边是远程,勾选后分别会在resources目录下生成对应文件,不需要改,这时候还没有配置远程服务器,所以只能勾选左边,勾选后点击上方工具栏的运行或调试启动项目。

启动后看到如图画面代表jrebel加载成功,现在在修改代码后通过快捷键Ctrl + Shift + F9就可以实现热重载。

2.热部署
2.1服务器安装jrebel

打开官网下载与idea插件相同版本的文件,上传至服务器目录


 

使用命令解压文件

# 解压下载文件
unzip jrebel-2023.3.2-nosetup.zip
2.2服务器激活jrebel

打开github下载激活工具,上传至服务器

执行如下命令启动激活工具

# port修改为任意端口号,我用的是8083
./ReverseProxy_linux_amd64 -l "127.0.0.1:port" &

接下来进入解压好的jrebel文件夹的bin目录下,使用如下命令激活jrebel

# 将url替换为本地激活时使用的url,修改一下端口号,修改为上一步激活工具启动时使用的端口,email替换为任意邮箱
bash activate.sh url email

激活后回到jrebel目录,目录下有一个名为jrebel.jar的文件,使用如下命令设置一下密码

# 将xxxxxx替换为密码
java -jar jrebel.jar -set-remote-password xxxxxx

激活完成后就用不到激活工具了,可以通过端口把他kill掉

2.3配置热部署

idea打开File->Settings->JRebel & XRebel->JRebel Remote Servers,勾选底下的Synchronize on build,然后点击+号添加服务器,这里url的端口不是上面激活所用的端口,是服务器tomcat启动项目的端口,填写完后可以点击测试按钮测试。

配置完成后进入服务器tomcat/bin目录,编辑catalina.sh文件,添加如下参数

# REBEL_HOME后的路径替换为你的jrebel路径
REBEL_HOME="/opt/jrebel"
JAVA_OPTS="\"-agentpath:$REBEL_HOME/lib/libjrebel64.so\" -Drebel.remoting_plugin=true $JAVA_OPTS"

保存后在bin目录下使用命令启动项目

./startup.sh

启动完成后在idea勾选远程调试,点击Debug启动本地项目,启动完成后点击右边云朵按钮进行热部署,弹出上传成功的提示代表热部署成功。

至此我们就可以进行远程热部署了,不过要注意热部署并非真正修改class文件,所以只对当前服务生效,如果服务器项目重启,改动就失效了。

3.远程Debug

如图打开配置

点击+号,找到remote jvm debug,新增。修改name和host后保存,然后复制host下方的参数

将这段参数粘贴到上文2.3步骤中提到的catalina.sh文件中,如图,然后重启服务器项目

idea选择刚刚配置的remote jvm debug,点击debug启动,控制台如图显示则配置成功。接下来就可以结合热部署打断点远程调试啦。

如果是非tomcat项目,区别是修改启动参数方式不同,例如springboot,可以如下图查询具体配置方法。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来树下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值