實現 Java 熱部署的幾種解決方案
- 2020 年 2 月 13 日
- 筆記
百度百科:熱部署,就是應用正在運行的時候就可以升級軟件,而不需要重新啟動應用。
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 熱部署的幾種解決方案


