一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源
一、通過配置文件控制靜態(tài)資源的熱部署
在配置文件 application.properties 中添加:
#表示從這個默認不觸發(fā)重啟的目錄中除去static目錄 spring.devtools.restart.exclude=classpath:/static/**
或者使用:
#表示將static目錄加入到修改資源會重啟的目錄中來 spring.devtools.restart.additional-paths=src/main/resource/static
此時對static 目錄下的靜態(tài)資源文件做修改,點擊構(gòu)建,則會達到和熱部署一樣的作用效果

但是這兩種方法用處不大,平時我們也不可能修改一行代碼就重啟一次項目,所以可以通過spring.devtools.restart.trigger-file,通過一個文件來控制是否重啟項目,當該文件改變時(同時項目代碼有所改動)項目才會重啟,否則不會重啟項目。
二、通過 LiveReload 插件控制靜態(tài)文件的熱部署
前面雖然可以通過配置解決靜態(tài)文件的熱部署問題,但是沒有必要!因為靜態(tài)資源文件發(fā)生變化后不需要編譯,按理說保存后刷新下就可以訪問到了。
devtools 中默認嵌入了 LiveReload 服務(wù)器,利用 LiveReload 可以實現(xiàn)靜態(tài)文件的熱部署,LiveReload 可以在資源發(fā)生變化時自動觸發(fā)瀏覽器更新,LiveReload 支持 Chrome、Firefox 以及 Safari 。以 Chrome 為例,在 Chrome 應(yīng)用商店搜索 LiveReload ,結(jié)果如下圖:

在瀏覽器中打開項目的頁面,然后點擊瀏覽器右上角的 LiveReload 按鈕,打開 LiveReload 連接。

注意:
LiveReload 是和瀏覽器選項卡綁定在一起的,在哪個選項卡中打開了 LiveReload,就在哪個選項卡中訪問頁面,這樣才有效果
需要注意這里同樣需要點擊這個圖標進行構(gòu)建:

如果不想使用這個功能也可以在 application.properties 中進行配置:
#禁用 LiveReload 功能 spring.devtools.livereload.enabled=false
三、配置 IDEA 即時編譯
eclipse 保存既編譯,idea 會自動保存,運行時會先編譯再運行,所以造成有時感覺IDEA 啟動項目比較慢
如果不想點擊上面的圖標,想讓它自己編譯運行可以:(一般情況不建議改成即時編譯)
(1)勾選 Build project automatically

(2)Ctrl+Alt+Shift+/ 呼出:Registry,回車勾選如圖所示選項


然后點擊 close,然后就設(shè)置成功了,此時配合 LiveReload(需要啟動),代碼將會直接反應(yīng)到瀏覽器中。(注意需要反應(yīng)一小會才可以看到結(jié)果)
四、禁用熱部署自動重啟
通過 application.properties 中配置:
#禁用熱部署,自動重啟功能 spring.devtools.restart.enabled=false
也可以在 SpringBoot 引導類中配置:
//設(shè)置關(guān)閉熱部署
System.setProperty("spring.devtools.restart.enabled","false");

五、項目重啟中的全局配置
當有多個SpringBoot 模塊時,可以通過全局配置解決項目重啟的熱部署問題。
在當前用戶目錄下,新建.spring-boot-devtools.properties:寫入
spring.devtools.restart.trigger-file=.trigger-file
此時,只有trigger-file文件發(fā)生變化,項目才會重新啟動
這個配置文件對于電腦上任何使用 devtools 的模塊都有效
感覺這有點麻煩,感覺這種設(shè)置針對的是第三步中設(shè)置的即時編譯,如果不設(shè)置即時編譯,那直接點 idea 上面那個小錘子圖標(Build Project)即可。
到此這篇關(guān)于一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源的文章就介紹到這了,更多相關(guān)SpringBoot不重啟修改靜態(tài)資源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Security實現(xiàn)兩周內(nèi)自動登錄"記住我"功能
登錄過程中經(jīng)常使用的“記住我”功能,也就是我們經(jīng)常會在各種網(wǎng)站登陸時見到的"兩周內(nèi)免登錄",“三天內(nèi)免登錄”的功能。今天小編給大家分享基于Spring Security實現(xiàn)兩周內(nèi)自動登錄"記住我"功能,感興趣的朋友一起看看吧2019-11-11
Java?zxing實現(xiàn)生成并解析二維碼與條形碼
這篇文章主要為大家詳細介紹了Java如何通過zxing實現(xiàn)生成并解析二維碼與條形碼,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2024-11-11

