前言
** 目前本人使用的是IDEA 2022.3.2版本 亲测有效,更高版本的ideal不保证此方法有效。**
如果想使用JRebel and Xrebel去在开发的时候热部署老一点的技术的如spring mvc+jsp这种需要单独配置tomcat服务器的项目,本人使用无效,只能老老实实一次一次的重启打包。下面是下载安装及配置过程。
PS:叠个甲,本文章仅供个人学习参考
一、下载
打开ideal,打开File->Settings->Plugins ,搜索JRebel,找到后不要直接下载,点击Plugin homepage,如下图
在打开的网页里面,下载2022.4.1版本的插件,如下图,先点击Versions
往下滑,界面展示的没有了就点击Show More按钮找到2022.4.1版本,点击下载
下载后以后,将下载好的插件导入到ideal里面,导入完成之后需要重启ideal
找到下载好的插件进行导入,导入完成后重启ideal
二、激活以及遇到问题解决方式
1.激活
重启ideal以后会弹出提示框如下,点击Jrebel Activation去激活
如果没弹出,可以点击Help->Jrebel->Activation,一样可以打开激活界面
打开以后需要填写Team URL和邮箱,邮箱可以随意填写,如下图
Team URL填入下面:
https://jrebel.qekang.com/04c1e794-34e2-4ff7-ad81-cc429bf95697
邮箱随便填。
填写好邮箱和url以后,点击Change License
然后再打开File->Settings界面,点击JRebel and Xrebel,点击Work online按钮,将插件改为离线模式,改为离线模式以后插件就被激活成功了(下图是切换成功的截图)
至此激活成功!
2.遇到问题
激活遇到的问题或者使用一段时间以后发现插件又过期了,这个时候可以是用下面的方法再次进行激活
1.点击Help->Jrebel->Activation进入到插件激活界面
2.在url输入下面的值,邮箱随便填写
http://127.0.0.1:8888/132d042c-3b1a-4c45-9044-b7897c3de788
输入后点击Change License进行激活
如果出现激活过期的问题,可以使用下面的网址再次生成GUID,复制生成后的GUID去替换掉上面url里的GUID,也就是替换上面url里http://127.0.0.1:8888/后面的那一串。
在线生成GUID地址GUID online erstellen
再次点击 Change Licens进行激活,这个时候可能提示这个错误
Unable to connect to license server.Check your network connnection and/or VPN settings.
这个错误是需要下载一个vpn,下载地址:Release v1.4 · ilanyu/ReverseProxy · GitHub
下载自己电脑对应的版本,我下载的是ReverseProxy_windows_amd64.exe版本,也就是下图中圈住的。
下载好以后,双击运行,然后再去ideal中点击插件激活界面的Change Licens按钮,可以发现激活成功。激活成功后记得再按照上面说的去插件的配置界面里面把插件工作模式改为离线模式,
vpn运行如下图
激活完成改完离线模式以后,就可以关闭刚刚下载打开的vpn的软件了。
PS:下载的vpn软件建议先不要删除,记住存放在电脑里的路径,防止出现再次过期的问题。再次激活的时候可能会用到
三、配置
激活好插件之后,打开ideal的File->Settings界面,找到下图里的配置,打上勾勾,以后点击apply然后OK,插件就配置完毕了。
四、使用
启动的话,就是启动项目的时候使用小火箭启动就可以了,一般我都是使用小火箭图标下面带debug模式的启动
如果是下图这种,模式的话默认JRebel就可以。
一般代码修改后可以在下面debug栏里点击刷新按钮等待几秒钟(热编译完成输出栏会有提示),修改的代码就生效了,我一般都是使用快捷键Ctrl+Shift+F9其实就是刷新按钮的快捷键。
刷新按钮如下图
五、使用感受及遇到问题
使用JRebel插件确实可以提高开发体验,不用因为改了一行就要重启项目浪费时间,但是也有局限性,首先就是在项目运行过程中,自己新创建的类,或者是新建的MVC里的控制层(Controller这种)或者是Service,有时候刷新会失效,还是需要重启,还有插件虽然说支持Mybatis里XML的这种文件的热编译,但是收费而且本人尝试过,没有成功热编译,目前就这些自己遇到问题。
六、总结
** 插件更多的适用场景是项目已经存在的代码文件,在已有的代码基础上做逻辑修改时会大大节省调试时间,对于运维这种查找问题或者方法逻辑修改调试用处大些,相较于ideal原带的debug功能确实优秀很多**,本人使用ideal原带的debug功能经常出现热编译不生效的问题,导致一直怀疑自己代码逻辑有问题,导致浪费多余时间。
版权归原作者 Attention_jp 所有, 如有侵权,请联系我们删除。