IDEA + JRebel + jetty 实现Spring项目热部署
在使用idea开发中,总是发现代码调整的不到位,总需要重新启动项目重新测试,由于项目比较大,项目启动又load了很多数据库信息到项目中,所以调整代码+重新启动项目就显得很浪费时间了。今天有时间研究了一下 IDEA + Spring + jetty 热部署,下面带大家来做一下。
- IDEA中需要安装 JRebel插件
点击 File - settings - Plugins - 输入框输入JRebel - Installed
这里我是已经安装完毕了,所以Installed 按钮是灰色的。安装完插件后会提示重新启动IDEA,这是重启启动即可。 - 激活JRebel 安装完JRebel需要激活才能使用
如果安装成功,重启完毕后就能看到这两个小图标标了~~~
一个是run 一个是debug 启动
激活,再次点击File -settings 这时就能看到JREbel了。
我这里是激活的状态,如果是非激活状态点击2位置的按钮。
此时会弹出激活框如下:
这个URL由两部分组成:
第一:固定前缀:http://jrebel.cicoding.cn/
第二:使用UUID,这时点击这个网址生成一个UUID即可。跟第一前缀拼接到一起即可。
UUID生成器 :https://www.idcd.com/index.php/tool/uuid
用一个UUID即可,别忘了输入一个邮箱。点击同意框,激活。
- 配置编译Compiler,要勾选如图 按钮,这是项目自动编译。
- 此时配置全部完成,点击jrebel按钮飞翔去吧。如果有代码调整按下Ctrl + Shift + F9
代码调整 : Ctrl + Shift + F9 点击yes
这里会提示出来,reloading的类==你调整的代码
这里面有两个坑
1:低版本的JDK启动会报错,使用JDK1.8就没有问题。
2:重新编译只能编译class,mapper文件调整还需要重新启动项目。
是不是非常简单,但是在配置时看百度搜索了很多文章都写的不对。
如只修改maven和jetty配置就能热部署,亲测不行。
什么在jetty-maven-plugin插件里配置
// 千万不要使用,此配置是项目每隔多久重新编译重启,最要死的节奏
<scanIntervalSeconds>0</scanIntervalSeconds>
<reload></reload用