使用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); }
微信公众号:
JAVA程序猿成长之路
分享资源,记录程序猿成长点滴。专注于Java,Spring,SpringBoot,SpringCloud,分布式,微服务。