devtools实现热部署

	使用DEV工具来实现热部署。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat将重新启动。 
	Spring Boot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。 
	开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot在发布它的第一个版本时没有这个功能。 
	这是开发人员最需要的功能。DevTools模块完全满足开发人员的需求。该模块将在生产环境中被禁用。它还提供H2数据库控制台以更好地测试应用程序。 

1、jar依赖

		<!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

2、修改配置

1/第一处:设置File ->Setting ->Compile: 勾选“Make project automatically”选项
在这里插入图片描述
2/第二处:检查Shift+Ctrl+Alt+/,弹窗选择Registry项,红框打勾。
在这里插入图片描述

3、在application.properties文件开启devtools

#开启热部署  默认监控classpath目录下文件
spring.devtools.restart.enabled=true

4、重启IDEA


补充

  1. 排除资源

某些资源在更改时不一定需要触发重启。 例如,可以直接编辑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 属性。

  1. 监控额外的路径

当你对不在类路径中的文件进行更改时,可能需要重启或重新加载应用程序。为此,请使用spring.devtools.restart.additional-paths 属性来配置监视其他路径的更改。你可以使用上述的 spring.devtools.restart.exclude 属性来控制附加路径下的更改是否会触发完全重启或只是实时重新加载 。

参考文档:
https://blog.csdn.net/qq_27886997/article/details/82799217

https://baijiahao.baidu.com/s?id=1637642891045646212&wfr=spider&for=pc

猜你喜欢

转载自blog.csdn.net/qq_38205881/article/details/105652706