1. 程式人生 > 實用技巧 >springboot + IDEA 專案熱部署(自動重新整理,免重啟)[轉]

springboot + IDEA 專案熱部署(自動重新整理,免重啟)[轉]

用IDEA做springboot,可以通過熱部署的方式快速展示。

spring為開發者提供了一個spring-boot-devtools模組,使應用支援熱部署,提高開發者效率,無需手動重啟springboot應用。

devtools的原理

深層原理是使用了兩個ClassLoader,一個Classloader載入那些不會改變的類(第三方Jar包),另一個ClassLoader載入會更改的類,稱為restart ClassLoader,這樣在有程式碼更改的時候,原來的restart ClassLoader 被丟棄,重新建立一個restart ClassLoader,由於需要載入的類相比較少,所以實現了較快的重啟時間。

devtools的方式 總的來說,一共需要兩個步驟:

1、設定pom.xml檔案,新增devtools依賴

<!--新增熱部署-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    <scope>true</scope>
</dependency
>

在<build> 下面<plugins>裡,maven-plugin新增配置

<plugin>
    <!--熱部署配置-->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!--fork:如果沒有該項配置,整個devtools不會起作用-->
        <
fork>true</fork> </configuration> </plugin>

2、設定IDEA的自動編譯:

(1)File-Settings-Compiler 勾選 Build Project automatically

(2)快捷鍵 ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running

這樣我們的熱部署就完成了。

借鑑:

https://www.cnblogs.com/jiangbei/p/8439394.html

https://blog.csdn.net/qq_42685050/article/details/81588584