IDEA 熱部署- 自動編譯設置

 

原文:https://www.cnblogs.com/TechSnail/p/7690829.html    &&   https://blog.csdn.net/qq_31293575/article/details/80654132 css

擴展:html

  https://blog.csdn.net/diaomeng11/article/details/73826564java

  https://blog.csdn.net/z15732621582/article/details/79439359  : bean.xml配置的項目spring

   https://blog.csdn.net/u011499747/article/details/71746325  : <excludeDevtools>false</excludeDevtools>爲了安全 遠程應用排除 devtools瀏覽器

===前言===start==========================================================緩存

spring boot 熱部署devtools實現

 

1.devtools安全

  spring爲開發者提供了一個名爲spring-boot-devtools的模塊來使Spring Boot應用支持熱部署,提升開發者的開發效率,無需手動重啓Spring Boot應用。服務器

2.項目搭建mybatis

  本文是採用IDEA搭建的Spring Boot應用,經過spring-boot-devtools配置,能夠支持修改java文件會自動重啓程序,一些資源無需觸發重啓,例如thymeleaf模板文件就能夠實時編輯。默認狀況下,更改/META-INF/maven,/META-INF/resources ,/resources ,/static ,/public 或/templates下的資源不會觸發重啓,而是觸發livereload。devtools模塊包含一個嵌入的livereload服務器,能夠在資源變化時用來觸發瀏覽器刷新。瀏覽器須要在livereload.com下載安裝擴展。 例如Chrome瀏覽器在應用商店安裝livereload插件後,在要自動刷新的頁面點擊對應的圖標,啓動應用後更新頁面內容或者css等都會觸發頁面自動刷新。app

3.livereload

  livereload 經過引入的腳本livereload.js在 livereload 服務和瀏覽器之間創建了一個 WebSocket 鏈接。每當監測到文件的變更,livereload 服務就會向瀏覽器發送一個信號,瀏覽器收到信號後就刷新頁面,實現了實時刷新的效果。每次啓動時,須要點擊對應的圖標,以下圖所示。

4.項目代碼配置

(1)pom.xml配置文件

1
2
3
4
5
6
7
8
9
10
11
12
< dependency >
    < groupId >org.springframework.boot</ groupId >
    < artifactId >spring-boot-devtools</ artifactId >
    < optional >true</ optional >
</ dependency >
< plugin >
    < groupId >org.springframework.boot</ groupId >
    < artifactId >spring-boot-maven-plugin</ artifactId >
    < configuration >
       < fork >true</ fork >  <!-- 若是沒有該配置,devtools不會生效 -->
    </ configuration >
</ plugin >

(2)yml配置

1
2
3
4
5
6
devtools:
   livereload:
     enabled: true #是否支持livereload
     port: 35729
   restart:
     enabled: true #是否支持熱部署

 

 

1.引入依賴

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional=true, 依賴不會傳遞, 該項目依賴devtools; 
以後依賴boot項目的項目若是想要使用devtools, 須要從新引入 -->
<optional>true</optional>
</dependency>

 

===前言===end==========================================================

2.配置文件

#開啓或者關閉freemarker和thymeleaf的頁面緩存
spring.freemarker.cache=false
spring.thymeleaf.cache=true
spring.devtools.restart.enabled=true
#須要開啓熱部署的文件目錄
spring.devtools.restart.additional-paths=src/main/java
#使用了mybatis好像須要設置,應該沒有必要。且生產環境須要移除
#restart.include.mapper=/mapper-[\\w-\\.]+jar
#restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar
#靜態文件下不須要重啓
#spring.devtools.restart.exclude=static/**,public/**
#spring.devtools.restart.exclude=WEB-INF/**
3.更改idea配置
  1) 「File」 -> 「Settings」 -> 「Build,Execution,Deplyment」 -> 「Compiler」,選中打勾 「Build project automatically」 。

  2) 組合鍵:「Shift+Ctrl+Alt+/」 ,選擇 「Registry」 ,選中打勾 「compiler.automake.allow.when.app.running」

 

 

4.Chrome禁用緩存(若是仍是沒法使用)

  F12或者「Ctrl+Shift+I」,打開開發者工具,「Network」 選項卡下 選中打勾 「Disable Cache(while DevTools is open)」

相關文章
相關標籤/搜索