Spring Boot 之热部署

Spring Boot 之热部署

由于Spring Boot应用通常都是一个普通的Java Application,如果我们在开发中修改了源代码而不希望关闭重启,Spring Boot也为我们提供了一个工具,完成应用的热部署功能,我们只需要引入spring-boot-devtools模块就可以完成应用的热部署效果。

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

使用spring-boot-devtools会监控ClassPath下资源的改变,对于大多数资源文件一旦发生变化,它就会触发自动重启功能,但是对于特殊的一些目录下的资源文件发生改变这些目录分别为/META-INF/maven, /META-INF/resources ,/resources,/static,/public ,/templates(注意:这些目录文件都位于classpath下),spring-boot-devtools是不会触发重启应用的,但是会触发这些资源文件的重新加载。



 

如果修改了static目录下的a.txt文件是不会触发自动重启功能的,用户可以通过spring.devtools.restart.exclude属性自定义不触发重启的目录。当在application.properties中加入如下内容:

spring.devtools.restart.exclude=public/**
扫描二维码关注公众号,回复: 263856 查看本文章

此时,修改static目录下的文件就会自动触发重启,但是当修改public目录下的文件依旧不会触发重启。如果既想要保持默认的哪些目录,并且同时还想添加一些目录不触发重启,可以通过spring.devtools.restart.additional-exclude来进行指定。

猜你喜欢

转载自youyu4.iteye.com/blog/2349092