百度百科:热部署,就是应用正在运行的时候就可以升级软件,而不需要重新启动应用。
spring-loaded
- 依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.5.RELEASE</version> </dependency>
ps:据说此方法还需要手动编译(
Ctrl + Shift + F9
),请亲测!
spring-boot-devtools
- 依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional><!-- 表示依赖不会传递,之后依赖该module的项目如需继续使用,则需要再次引入 --> </dependency>
JRebel
- 安装插件
- 激活JRebel
- 启动运行
- 若不起效
-
全局配置
对比
方式 | 效果 |
---|---|
spring-loaded | 需手动编译 |
spring-boot-devtools | 会重新加载整个应用 |
JRebel | 只加载修改类(当有错误时不会)。无需手动编译,不会重新加载整个应用 |
参考文章
SpringBoot初始教程之热部署(五)
JRebel无限制版
IntelliJ IDEA 热部署插件 JRebel 安装激活及使用
intellij idea 热部署 jrebel 详细配置
文章已授权转载,原文链接:实现 Java 热部署的几种解决方案