20.2.1记录条件评估中的变化
默认情况下,每次应用程序重新启动时,都会记录一个显示条件评估增量的报告。该报告显示在您进行更改(例如添加或删除beans和设置配置
属性)时对应用程序的自动配置所做的更改。
要禁用报告的日志记录,请设置以下属性:
spring.devtools.restart.log-condition-evaluation-delta=false
20.2.2不包括资源
某些资源在更改时不一定需要触发重启。例如,可以就地编辑Thymeleaf模板。默认情况下,更
改 /META-INF/maven , /META-INF/resources , /resources , /static , /public 或 /templates 中的资源不会触发重新启动,但会触发
实时重新加载。如果要自定义这些排除项,可以使用 spring.devtools.restart.exclude 属性。例如,要仅排除 /static 和 /public ,您需
要设置以下属性:
spring.devtools.restart.exclude=static/**,public/**
如果要保留这些默认值并添加其他排除项,请改用 spring.devtools.restart.additional-exclude 属性。
20.2.3查看其他路径
当您对不在类路径中的文件进行更改时,您可能希望重新启动或重新加载应用程序。为此,请使
用 spring.devtools.restart.additional-paths 属性配置其他路径以监视更改。您可以使用前面描述
的 spring.devtools.restart.exclude 属性 来控制其他路径下的更改是触发完全重新启动还是 实时重新加载。
20.2.4禁用重启
如果您不想使用重新启动功能,可以使用 spring.devtools.restart.enabled 属性将其禁用。在大多数情况下,您可以
在 application.properties 中设置此属性(这样做仍会初始化重新启动的类加载器,但它不会监视文件更改)。
如果您需要完全禁用重新启动支持(例如,因为它不能与特定库一起使用),则需要在调用 SpringApplication.run(… ) 之前
将 spring.devtools.restart.enabled System 属性设置为 false ,如如下例所示:
public static void main(String[] args) {
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(MyApp.class, args);
}
20.2.5使用触发文件
如果使用不断编译已更改文件的IDE,则可能更喜欢仅在特定时间触发重新启动。为此,您可以使用“触发器文件”,这是一个特殊文件,当您
想要实际触发重新启动检查时,必须对其进行修改。更改文件只会触发检查,只有在Devtools检测到必须执行某些操作时才会重新启动。触发器
文件可以手动更新,也可以使用IDE插件更新。
要使用触发器文件,请将 spring.devtools.restart.trigger-file 属性设置为触发器文件的路径。
您可能希望将 spring.devtools.restart.trigger-file 设置为 全局设置,以便所有项目的行为方式相同。