Springboot自动重启
为了不用每次修改代码之后都重启springboot,所以找了下自动重启springboot的方式。
Springboot提供了一个开发者工具:devtools
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
注:springboot版本应在1.3以上。
如果你是.gradle文件,则添加一下代码:
compile "org.springframework.boot:spring-boot-devtools"
当应用程序以完整打包好的JAR或WAR文件形式运行时,开发者工具会被禁用,所以没有必要在构建生产部署包前移除这个依赖。
IntelliJ IDEA工具
当你使用的是IntelliJ IDEA工具开发时,则需要修改一些配置。
依次执行以下操作:
- 打开Setting
- 选择Compiler
- 勾选Build project automatically
- 再执行ctrl+shift+alt+/ 打开Maintance,选择Registry
- 勾选compiler.automake.allow.when.app.running
重启编辑器可能会好点。
配置
以下内容来自《Springboot实战》。
排除检测目录
有些Classpath里的资源变更后不需要重启应用程序。像Thymeleaf这样的视图模板可以直接编辑,不用重启应用程序。在/static或/public里的静态资源也不用重启应用程序,所以Spring Boot开发者工具会在重启时排除掉如下目录:/META-INF/resources、/resources、/static、/public和/templates。
为了方便考虑,可以自定义排除目录
devtools:
restart:
exclude: /static/**,/templates/**
后续添加用逗号分隔即可
关闭自动重启
spring:
devtools:
restart:
enabled: false
设置触发文件
还可以设置一个触发文件,必须修改这个文件才能触发重启。例如,在修改名为.trigger的文件前你都不希望执行重启。
spring:
devtools:
restart:
trigger-file: .trigger
注:文件名后缀需要为 .trigger
例如:
若需要重启,在restart.trigger中随意修改即可。