Spring(Spring MVC/Spring Boot ...)

4.spring-boot-devtools 实现热部署

2018-10-20  本文已影响0人  小manong

1.热部署依赖

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

将依赖关系标记为可选<optional>true</optional>是一种最佳做法,可以防止使用项目将devtools传递性地应用于其他模块。

2.重启原理

3.排除静态资源文件

spring.devtools.restart.exclude=static/**,public/**
//如果想保留默认配置,同时增加新的配置,则可使用
//spring.devtools.restart.additional-exclude属性

4.使用一个触发文件

若不想每次修改都触发自动重启,可以设置spring.devtools.restart.trigger-file指向某个文件,只有更改这个文件时才触发自动重启。

5.自定义自动重启类加载器

默认时,IDE中打开的项目都会由restart加载器加载,jar文件由Base加载器加载,但是若你使用multi-module的项目,并且不是所有模块都被导入到IDE中,此时会导致加载器不一致。这时你可以创建META-INF/spring-devtools.properties文件,并增加restart.exclude.XXX,restart.include.XXX来配置哪些jar被restart加载,哪些被base加载。如:

restart.include.companycommonlibs=/mycorp-common-[\\w-]+\.jar
restart.include.projectcommon=/mycorp-myproj-[\\w-]+\.jar

参考博文:http://tengj.top/2017/06/01/springboot10/

上一篇 下一篇

猜你喜欢

热点阅读