實現 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 熱部署的幾種解決方案