您好,登錄后才能下訂單哦!
如何進行SpringBoot開發環境熱部署的配置,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在實際的項目開發過中,當我們修改了某個java類文件時,需要手動重新編譯、然后重新啟動程序的,整個過程比較麻煩,特別是項目啟動慢的時候,更是影響開發效率。其實Spring Boot的項目碰到這種情況,同樣也同樣需要經歷重新編譯、重新啟動程序的過程。只不過Spring Boot 提供了一個spring-boot-devtools的模塊,使得 Spring Boot應用支持熱部署,無需手動重啟Spring Boot應用,,提高開發者的開發效率。接下來,聊一聊Spring Boot 開發環境熱部署。
devtools 使用了兩個類加載器(ClassLoader)。
一個是 Base類加載器(base classloader ):加載那些不會改變的類,如:第三方Jar包等。
另一個是 Restart類加載器(restart classloader):負責加載那些正在開發的會改變的類。這樣在有代碼更改的時候,因為重啟的時候只是加載了在開發的Class類,沒有重新加載第三方的jar包,所以實現了較快的重啟時間。
devtools 監聽classpath下的文件變動(發生在保存時機),并且會立即重啟應用。從而實現類文件和屬性文件的熱部署。
1、pom配置
引入devtools的依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true, 依賴不會傳遞, 該項目依賴devtools;之后依賴boot項目的項目如果想要使用devtools, 需要重新引入 --> <optional>true</optional></dependency>
注意:optional=true, 依賴不會傳遞, 該項目依賴devtools;之后依賴boot項目的項目如果想要使用devtools, 需要重新引入。
2、application.properties配置
在application.properties中配置devtools。
# 關閉緩存即時刷新
#spring.thymeleaf.cache=false
#熱部署生效
spring.devtools.restart.enabled=true
#設置重啟的目錄
spring.devtools.restart.additional-paths=src/main/java
#classpath目錄下的WEB-INF文件夾內容修改不重啟
spring.devtools.restart.exclude=WEB-INF/**
說明:
devtools可以實現頁面熱部署,即頁面修改后會立即生效,需要將application.properties文件中配置spring.thymeleaf.cache=false。
devtools會監聽classpath下的文件變動,并且會立即重啟應用。
3、IDEA配置
如果idea是新安裝的或者之前就沒有配置過,發現改變代碼項目熱部署不成功。當我們修改了Java類后,IDEA默認是不自動編譯的,而spring-boot-devtools又是監測classpath下的文件發生變化才會重啟應用。
所以需要設置IDEA的自動編譯:
(1)File-Settings-Compiler-Build Project automatically
(2)ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running
這樣,就可以使用devtools實現熱部署了。
以上,就把如何配置Spring Boot 開發環境熱部署介紹完了。還是比較簡單的,大家自己去研究吧。
關于如何進行SpringBoot開發環境熱部署的配置問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。