18.Spring-Boot devtools项目自动重启

使用spring-boot-devtools的应用程序在类路径上的文件时自动重新启动改变。当在IDE中工作时,这可能是一个有用的特性,因为它提供了一个非常快的反馈循环。默认情况下,指向一个文件夹的类路径上的任何条目都会被监控以进行更改。请注意,某些资源(如静态资产和视图模板)不需要重新启动。应用程序。

<!--自动重启 -->

<!--使用spring-boot-devtools的应用程序在类路径更改时自动重新启动。 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

</dependency>

触发重启

当DevTools监视类路径资源时,触发重启的惟一方法是更新。类路径中。导致要更新的类路径的方式取决于你正在使用的IDE。在Eclipse中,保存修改后的文件会导致类路径被更新并触发重新重启。在IntelliJ IDEA中,构建项目(Build -> Make project)具有相同的效果。

排除修改静态文件触发重启

某些资源在更改时不一定需要触发重新启动。例如,Thymeleaf模板可以就地编辑。默认情况下,更改/META-INF/maven中的资源,/META-INF/resources, /resources, /static, /public, or /模板不会触发。重新启动但确实触发了一个实时重载。如果您想定制这些排除,您可以使用。spring.devtools.restart.exclude。例如,仅排除/静态和/。

您将设置以下属性:

spring.devtools.restart.exclude=static/**,public/**

禁用重启

1.在application.properties中设置

spring.devtools.restart.enabled=false

在大多数情况下,您可以将此属性设置在application.properties。(这样做仍然会初始化重启类加载器,但它不需要注意。

文件更改)。

2.如果您需要完全禁用重新启动支持需要设置spring.devtools.restart.enabled系统属性

在调用SpringApplication.run之前(…),如以下示例所示:

public static void main(String[] args) {

System.setProperty("spring.devtools.restart.enabled", "false");

SpringApplication.run(MyApp.class, args);

}

微信公众号

                          
原文地址:https://www.cnblogs.com/niugang0920/p/12196707.html