IDEA下SpringBoot項目熱部署配置(基於最新的SpringBoot2.0.6)

關於SpringBoot最權威(沒有之一)的文檔,當然是來自官方手冊:https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/htmlsingle/

本文要介紹的項目熱部署,我分爲IDEA配置和SpringBoot配置

1、IDEA配置

1.1.開啓項目自動編譯

1.2.開啓項目運行時編譯器自動編譯

2、SpringBoot配置

2.1.依賴SpringBoot開發工具starter

SpringBoot提供了一個用於提高開發體驗的類庫叫做devtools,其中包括熱部署(快速重啓)。該技術的深層原理是使用了兩個ClassLoader(類加載器),一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱爲restart ClassLoader,這樣在有代碼更改的時候,原來的restart ClassLoader 被丟棄,重新創建一個restart ClassLoader,由於需要加載的類相比較少,所以實現了較快的重啓時間。

引入該類庫需要在pom.xml中添加如下依賴:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
</dependency>

 2.2.build的插件引入springloaded庫

(該配置主要在eclipse中生效,IDEA不需要)

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <dependencies>
                <!-- spring熱部署 -->
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>springloaded</artifactId>
                    <version>1.2.6.RELEASE</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

2.3.靜態資源目錄排除

有時候在開發期間,修改了java代碼、xml、properties配置等需要熱部署,但修改js、html等不需要重啓,那麼可以排除監聽部分目錄。在項目的application.properties文件中添加如下配置:

spring.devtools.restart.enabled=true
spring.devtools.restart.exclude=static/**,templates/**,META-INF/**

@六噸代碼

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章