资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

spring-boot-devtools怎么在spring-boot中使用

这期内容当中小编将会给大家带来有关spring-boot-devtools怎么在spring-boot中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

我们提供的服务有:网站设计制作、成都做网站、微信公众号开发、网站优化、网站认证、城区ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的城区网站制作公司

1. 什么是 spring-boot-devtools

spring-boot-devtools 是 spring-boot项目开发时的一个热部署工具,安装了 spring-boot-devtools 依赖,我们在修改源代码后无需 mvn spring-boot:run 手动重启spring-boot项目,spring-boot-devtools 会自动帮我们重新启动项目。
默认情况下,spring-boot-devtools 会检测 项目文件夹的类路径上的所有文件。注意,某些资源(如静态资产和视图模板)不需要重新启动项目。

2. spring-boot:run 的使用:

首先,要在pom.xml文件中配置依赖



  org.springframework.boot
  spring-boot-devtools

配置好依赖后,运行项目的时候就会自动下载spring-boot-devtools 工具包,当我们对项目路径下的文件进行了修改,点击保存,就会触发重启。

注意,默认情况下,更改/META-INF/maven、/META-INF/resources、 /resources、/static、/public 不会触发重启。

如果想设置这些排除,可以在 applcation.properties文件中设置spring.devtools.restart.exclude。
例如,仅排除/static 和 /public 下的所有文件:

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

3. 如何禁用重启?

1)在application.properties中设置

spring.devtools.restart.enabled=false

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

public static void main(String[] args) {
  System.setProperty("spring.devtools.restart.enabled", "false");
  SpringApplication.run(MyApp.class, args);
}

注意踩坑:

之前使用eclipse做 spring-boot 做一个web项目的时候,配置了 spring-boot-devtools 依赖,第一次开启项目运行没有问题,然后习惯性的关闭项目去修改代码,修改完代码点击启动项目,报错:端口号被占用。

这个错误在学习web的时候如果操作失误,是最常见的错误之一,一般只要关闭了还在开启状态的tomcat就可以解决。
在使用spring-boot配置的web项目中,需要配置 spring-boot-web 依赖,这个依赖中内置有一个tomcat,所以在正常情况下,我们直接关闭项目是会自动关闭tomcat的,但在这里居然报错!

然后网上搜了半天,发现是 spring-boot-devtools 的问题,尝试禁用热部署,发现还是不行(可能是我环境问题,网上看有的人是成功了的)。这时候只能打开终端,输入:netstat -aon|findstr "8080" 查看正在占用8080端口的进程id(pid),然后打开任务管理器,关闭这个进程(或者直接在终端中输入命令关闭:taskkill /pid 4484 -f4484是占用8080端口的pid号)

上述就是小编为大家分享的spring-boot-devtools怎么在spring-boot中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页名称:spring-boot-devtools怎么在spring-boot中使用
分享URL:http://www.cdkjz.cn/article/pooeih.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220