說說在 IDEA 中如何使用 DevTools 與 LiveReload 實現(xiàn)熱部署(包括代碼與靜態(tài)資源)

1 配置 Intellij IDEA

首先在 Intellij IDEA 中砚殿,開啟項目自動構(gòu)建選項:

然后打開 Maintenance 選項卡衣盾,快捷鍵為 Ctrl + Alt + Shift + /:

輸入快捷鍵后几晤,選擇 Registry也切,進(jìn)入注冊表只壳,找到 compiler.automake.allow.when.app.running,勾選它:

這時 Java 代碼發(fā)生變化時极景,IDEA 就會自動重新編譯察净。

2 Spring Boot DevTools

Spring Boot 的 DevTools 為我們提供了一些便利的開發(fā)期工具,包括以下這些內(nèi)容:

  1. 當(dāng)代碼變更后應(yīng)用會自動重啟(這在 IDEA 中需要進(jìn)行額外配置盼樟,上一小節(jié)有具體描述)氢卡;
  2. LiveReload 服務(wù)器配合 LiveReload 瀏覽器插件,能夠在模板 恤批、 圖片 异吻、 樣式表 、 JavaScript等發(fā)生變化時喜庞,自動刷新瀏覽器诀浪,這樣就可以免去手動刷新的動作;
  3. 自動禁用模板框架(比如 Thymeleaf 或 FreeMarker)緩存延都;
  4. 如果使用 H2 數(shù)據(jù)庫雷猪,那么可以通過 DevTools 內(nèi)置的 H2 控制臺,看到相關(guān)數(shù)據(jù)晰房。

安裝 DevTools 很簡單求摇,我們只需要在 pom.xml 中,配置好 DevTools 的依賴:

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

DevTools 運行時會自動啟動一個 LiveReload 服務(wù)器:

3 安裝 LiveReload Chrome 插件

網(wǎng)上搜索 LiveReload ocx 類型的 Chrome 瀏覽器插件安裝包并下載下來殊者,然后把文件類型從 ocx 改為 zip(直接安裝會報程序包無效)与境,拖入 Chrome 瀏覽器的擴展程序頁,進(jìn)行安裝猖吴。

安裝時摔刁,記得先打開“開發(fā)者模式”。安裝成功后海蔽,就會在擴展程序中看到 LiveReload :


4 熱部署

使用 LiveReload Chrome 插件時共屈,需要點擊右上角的 LiveReload 圖標(biāo)绑谣,讓其打開 WebSocket 監(jiān)聽 LiveReload 服務(wù)器。

在調(diào)試器中拗引,我們可以看到 LiveReload Chrome 插件是通過 WebSocket 實現(xiàn)監(jiān)聽 LiveReload 服務(wù)器的:

這時借宵,如果靜態(tài)資源或者前端視圖(比如模板)發(fā)生變化,就會通過 LiveReload 實現(xiàn)自動刷新瀏覽器啦?乛?乛?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矾削,一起剝皮案震驚了整個濱河市壤玫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哼凯,老刑警劉巖垦细,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挡逼,居然都是意外死亡,警方通過查閱死者的電腦和手機腻豌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門家坎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吝梅,你說我怎么就攤上這事虱疏。” “怎么了苏携?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵做瞪,是天一觀的道長。 經(jīng)常有香客問我右冻,道長装蓬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任纱扭,我火速辦了婚禮牍帚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乳蛾。我一直安慰自己暗赶,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布肃叶。 她就那樣靜靜地躺著蹂随,像睡著了一般。 火紅的嫁衣襯著肌膚如雪因惭。 梳的紋絲不亂的頭發(fā)上岳锁,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音筛欢,去河邊找鬼浸锨。 笑死唇聘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柱搜。 我是一名探鬼主播迟郎,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼聪蘸!你這毒婦竟也來了宪肖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤健爬,失蹤者是張志新(化名)和其女友劉穎控乾,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娜遵,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蜕衡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了设拟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慨仿。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖纳胧,靈堂內(nèi)的尸體忽然破棺而出镰吆,到底是詐尸還是另有隱情,我是刑警寧澤跑慕,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布万皿,位于F島的核電站,受9級特大地震影響核行,放射性物質(zhì)發(fā)生泄漏牢硅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一芝雪、第九天 我趴在偏房一處隱蔽的房頂上張望唤衫。 院中可真熱鬧,春花似錦绵脯、人聲如沸佳励。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赃承。三九已至,卻和暖如春悴侵,著一層夾襖步出監(jiān)牢的瞬間瞧剖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抓于,地道東北人做粤。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像捉撮,于是被迫代替她去往敵國和親怕品。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354