因为项目刚从eclipse迁移到idea下开发,涉及到代码热部署,在试用了spring-dev-tools后,感觉程序能自动重新加载,但是整个项目会自动重启,等待时间还是较长,所以最后还是选用了JRebel。用JRebel不会自动重启整个项目,从控制台信息来看应该是真正去load和替换有变化的class和resource。
具体安装和设置步骤如下:
- 从idea的plugin设置里面搜索JRebel安装。
- 安装好后,需要激活JRebel,验证码可以通过在https://my.jrebel.com注册即可获得。
- 激活完毕后,在idea主面板的JRebel Panel上勾选关联上指定Springboot项目,将在项目的resources目录生成rebel.xml配置文件默认不去修改它,至此会让JRebel监视项目文件变化。
- 直接用idea的工具栏上的JRebel调试/运行按钮启动Springboot项目, 在控制台看到如下信息:
- 项目启动后,更改后台java文件,发现并没有立即生效,是因为idea和eclipse不同,保存后不会立即编译文件,需要
⌘+F9
来编译和重新加载文件。 - 为了实现保存当前代码就立即生效,可手动将key map里面的“build”项改成
⌘+S
,当然原有的“Save All”快捷键可替换成其他快捷键。
经过以上步骤,不论是更改代码或是前端资源文件都可以立即生效,利用JRebel进行热部署完成。