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

1 pom.xml文件

热部署功能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中不需要添加此配置。

复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>
复制代码

2 更改idea配置

  1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。

  2) 组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running” 。

Chrome禁用缓存

  F12或者“Ctrl+Shift+I”,打开开发者工具,“Network” 选项卡下 选中打勾 “Disable Cache(while DevTools is open)” 

 

默认不被热部署的文件( 项目不会重启,但是静态文件可能生效)
1、/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates
2、指定文件不进行热部署 spring.devtools.restart.exclude=application.properties

 

在开发中,我们会思考一个问题?

 如果你写一个逻辑代码,需要好几个文件,总不能你每保存一次就进行一次热部署,这里有个解决方法。

在application.properties添加手工触发重启

#指定某些文件不进行监听,即不会进行热加载
#spring.devtools.restart.exclude=application.properties

#通过触发器,去控制什么时候进行热加载部署新的文件
spring.devtools.restart.trigger-file=trigger.txt
然后在src\main\resources目录下,添加trigger.txt文件

 


这样你每次改好代码,不会每次保存就热部署,而是改好代码后,修改version的值就会进行热部署。

 

posted @ 2019-01-22 17:00  好记性不如烂笔头=>  阅读(1009)  评论(0编辑  收藏  举报