Idea 中使用 JRebel 实现 SpringBoot 热部署
在 SpringBoot 开发过程中,当 Debug 项目时,修改代码逻辑、修改接口路由、新增工具类等等情况下,一般都需要重新启动项目。通过配置 JRebel 可实现热部署,保存代码后自动编译新文件,并通过 JRebel 自动 Reload,从而实现快捷开发。
SpringBoot 实现热部署方式
SpringBoot 已经提供了实现热部署的方法,你只需要引入依赖springboot-devtools就可以了 。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
添加 spring-boot-devtools 之后就可以实现热部署了,那为什么我们还需要 JRebel 呢?
- 1、
springboot-devtools
方式的热部署在功能上有限制,方法内的修改可以实现热部署,但新增的方法或者修改方法参数之后热部署是不生效的; - 2、相对于 JRebel,
springboot-devtools
方式热部署的速度可能有点慢,影响效率。
安装激活 JRebel
Settings → Plugins → 搜索 JRebel,然后安装,安装后重启 Idea,或者参见官方安装教程 IntelliJ IDEA – JRebel manual
安装完成后进入 Help → JRebel → Activation 激活,具体激活请参见我以前的一篇文章 自建内网可用 JRebel 激活服务器
如果您不想自己搭建,也可以直接打开 http://niuniu.hicp.net/jrebel/ 复制一个地址进行激活。
配置 Idea 打开自动编译
进入设置 Settings → Build, Execution, Deployment → Compiler,然后勾选 Build project automatically
由于 Build project automatically 选项仅在
Idea 主界面快捷键 ctrl+shift+alt+/,选择 Registry...,然后找到 compiler.automake.allow.when.app.running 并勾选,此时已经生效,修改代码后 ctrl+s 会自动重新编译,编译完成后 JRebel 也会自动加载新的文件。
配置项目启动
首先启动项目请使用 JRebel 按钮启动。
另外:On 'Update' action: 表示按 ctrl+F10 更新项目时激活的操作;On frame deactivation: 表示切换到其它窗口后 Idea 是否启动相应操作,选择 Update classes and resources 表示离开 Idea 后会启动编译新文件
结论
Idea 确实好用,刚从 Eclipse 转过来,开始学习各种快捷键,各种 Idea 新知识,加油!
站外相关阅读
相关阅读
- Pros and cons of end to end testing tools
- Spring MVC 控制器定义与@RequestMapping详解
- Redis高可用集群、哨兵模式(Redis-Sentinel)搭建配置详解
- 用好这些隐藏「小开关」,让 Chrome 浏览器更好用(个人备用)
- 自建内网可用JRebel激活服务器
- Spring 定时任务 No qualifying bean of type TaskScheduler available 及 Could not find default TaskScheduler bean异常处理
- Springboot 使用 Logback 自动同步指定级别日志到 MariaDB 数据库
- 基于 KMS 服务的 Windows、Office 激活
- 记一次WebDriver无法正常加载www.xxx.com域名Cookie文件的解决办法
- Tomcat 配置导致启动时,项目加载两次的解决办法