spring-boot-devtools在Idea中熱部署方法

1 pom.xml文件spring

熱部署功能spring-boot-1.3開始有的緩存

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

:project 中添加 spring-boot-maven-plugin,主要在eclipse中使用,idea中不須要添加此配置。app

複製代碼
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>
複製代碼

2 更改idea配置eclipse

  1) 「File」 -> 「Settings」 -> 「Build,Execution,Deplyment」 -> 「Compiler」,選中打勾 「Build project automatically」 。maven

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

Chrome禁用緩存
spring-boot

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

 

默認不被熱部署的文件( 項目不會重啓,可是靜態文件可能生效)
一、/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates
二、指定文件不進行熱部署 spring.devtools.restart.exclude=application.propertiesui

 

在開發中,咱們會思考一個問題?idea

 若是你寫一個邏輯代碼,須要好幾個文件,總不能你每保存一次就進行一次熱部署,這裏有個解決方法。

在application.properties添加手工觸發重啓

#指定某些文件不進行監聽,即不會進行熱加載
#spring.devtools.restart.exclude=application.properties

#經過觸發器,去控制何時進行熱加載部署新的文件
spring.devtools.restart.trigger-file=trigger.txt
而後在src\main\resources目錄下,添加trigger.txt文件

 

這樣你每次改好代碼,不會每次保存就熱部署,而是改好代碼後,修改version的值就會進行熱部署。

相關文章
相關標籤/搜索