spring-boot中如何使用spring-boot-devtools

小編給大家分享一下spring-boot中如何使用spring-boot-devtools,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供額敏企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為額敏眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進(jìn)行中。

1. 什么是 spring-boot-devtools

spring-boot-devtools 是 spring-boot項目開發(fā)時的一個熱部署工具,安裝了 spring-boot-devtools 依賴,我們在修改源代碼后無需 mvn spring-boot:run 手動重啟spring-boot項目,spring-boot-devtools 會自動幫我們重新啟動項目。默認(rèn)情況下,spring-boot-devtools 會檢測 項目文件夾的類路徑上的所有文件。注意,某些資源(如靜態(tài)資產(chǎn)和視圖模板)不需要重新啟動項目。

2. spring-boot:run 的使用:

首先,要在pom.xml文件中配置依賴

<!--自動重啟 --><dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-devtools</artifactId></dependency>

配置好依賴后,運行項目的時候就會自動下載spring-boot-devtools 工具包,當(dāng)我們對項目路徑下的文件進(jìn)行了修改,點擊保存,就會觸發(fā)重啟。

注意,默認(rèn)情況下,更改/META-INF/maven、/META-INF/resources、 /resources、/static、/public 不會觸發(fā)重啟。

如果想設(shè)置這些排除,可以在 applcation.properties文件中設(shè)置spring.devtools.restart.exclude。例如,僅排除/static 和 /public 下的所有文件:

spring.devtools.restart.exclude=static/**,public/**

3. 如何禁用重啟?

1)在application.properties中設(shè)置

spring.devtools.restart.enabled=false

2)完全禁用重新啟動支持,需要設(shè)置spring.devtools.restart.enabled系統(tǒng)屬性

public static void main(String[] args) {  System.setProperty("spring.devtools.restart.enabled", "false");  SpringApplication.run(MyApp.class, args);}

注意踩坑:

之前使用eclipse做 spring-boot 做一個web項目的時候,配置了 spring-boot-devtools 依賴,第一次開啟項目運行沒有問題,然后習(xí)慣性的關(guān)閉項目去修改代碼,修改完代碼點擊啟動項目,報錯:端口號被占用。

這個錯誤在學(xué)習(xí)web的時候如果操作失誤,是最常見的錯誤之一,一般只要關(guān)閉了還在開啟狀態(tài)的tomcat就可以解決。在使用spring-boot配置的web項目中,需要配置 spring-boot-web 依賴,這個依賴中內(nèi)置有一個tomcat,所以在正常情況下,我們直接關(guān)閉項目是會自動關(guān)閉tomcat的,但在這里居然報錯!

然后網(wǎng)上搜了半天,發(fā)現(xiàn)是 spring-boot-devtools 的問題,嘗試禁用熱部署,發(fā)現(xiàn)還是不行(可能是我環(huán)境問題,網(wǎng)上看有的人是成功了的)。這時候只能打開終端,輸入:netstat -aon|findstr "8080" 查看正在占用8080端口的進(jìn)程id(pid),然后打開任務(wù)管理器,關(guān)閉這個進(jìn)程(或者直接在終端中輸入命令關(guān)閉:taskkill /pid 4484 -f4484是占用8080端口的pid號)

以上是“spring-boot中如何使用spring-boot-devtools”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:spring-boot中如何使用spring-boot-devtools
本文URL:http://bm7419.com/article32/pcdjpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站營銷、面包屑導(dǎo)航、虛擬主機(jī)、、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)