spring boot 使用devtools热部署
摘要:本文重点讲解devtools作用和使用场景、怎么部署devtools以及自定义设定devtools的重启/不重启目录
1、devtools作用和使用场景:
Spring Boot的devtools主要作用是热部署,众所周知,当我们在开发时,经常需要修改一些内容然后重启、调试,但是不断的重启项目是很耗时的,特别是项目比较大时,重启时间就比较恶心了。
有了devtools,我们就可以通过简单的方式是我们的修改生效。
2、部署devtools
1)首先在我们的pom.xml中添加依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope>
</dependency>
2)然后,在build–plugins中加入:
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart --><fork>true</fork></configuration>
</plugin>
注意:
配置完之后,启动项目时遇到的问题:
Caused by: java.lang.ClassCastException
报错原因是:为了实现热部署,Devtools原有自己的类加载器,进行更新,由于类加载器的不同导致类型转换失败。
解决办法:
将要强制类型转换的对象先转换成json格式,再转换回来即可。
如果不是必须要使用devtools的话,也可以直接去掉devtools的依赖:
3)怎么restart?
eclipse:当你Ctrl + S 保存的时候,就会自动热部署。
IDEA:需要简单配置一下:
打开File – settings – keymap
搜索reload,双击,然后选择 Add Keyboard Shortcut
然后输入对应按键(推荐使用Alt+E):
3、自己设置devtools重启/不重启目录
默认情况下,/META-INF/maven,/META-INF/resources,/resources,/static,/templates,/public这些文件夹下的文件修改不会使应用重启,但是会重新加载(devtools内嵌了一个LiveReload server,当资源发生改变时,浏览器刷新)。
1)自己设置不重启的目录:
spring.devtools.restart.exclude=static/**,public/**
这样的话,就只有这两个目录下的文件修改不会导致restart操作了。
2)在保留默认设置的基础上,添加其他的排除目录:
spring.devtools.restart.additional-exclude=
3)当非classpath下的文件发生变化时,应用得以重启:
spring.devtools.restart.additional-paths=
spring boot 使用devtools热部署相关推荐
- spring boot之 DevTools 热部署,修改代码立刻见效,快速重启
IDEA新建sping boot选择 DevTools spring-boot-devtools 模块能够实现热部署,添加类 添加方法 修改配置文件 修改页面等 都能实现热部署 原理就 ...
- Spring Boot idel 实现热部署
1. 相信大家很多都会说Spring Boot 实现热部署 在POM 中加一个 spring-boot-devtools 就可以了,但是很多时候是不行的话,下面我就来 带大家Spring Boot 如 ...
- Spring Boot 2.0 热部署指南
Spring Boot 2.0 支持热部署,实现方法很简单 Spring Boot 2.0 有几种热重载的选项. 推荐的方法是使用spring-boot-devtools 因为它提供了额外的开发时间功 ...
- Spring Boot 项目实现热部署
方法一:devtools Pom.xml中直接添加依赖即可: <dependency><groupId>org.springframework.boot</groupId ...
- Spring Boot 开发环境热部署(HotSwap)详解
前言 Spring Boot 提出了多项开箱即用的功能特性,但归根到底还是围绕简化应用的创建.开发.运行.开发环境下我们经常对项目代码进行变动,如果每次都重新启动应用会浪费我们大量时间,为此就产生了多 ...
- Spring Boot 五种热部署方式,极速开发就是生产力!
欢迎关注方志朋的博客,回复"666"获面试宝典 模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的, ...
- 阿里原来是这么干的!Spring Boot 五种热部署方式
作者:若离x 来源:my.oschina.net/ruoli/blog/1590148 1.模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面 ...
- 极速开发之Spring Boot五种热部署方式
在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存 ...
- Spring Boot 五种热部署方式,再也不用老重启了!
1.模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭 ...
最新文章
- 设计模式六大原则(5):迪米特法则
- C#DataGridView添加序号
- CVS 快速入门指南
- 羊车门问题python_python编程羊车门问题代码示例
- android 内部拦截,如何使用proxy,如何在内部拦截get方法
- 裤子尺码对照表eur40_弄明白这两个问题,你就知道内衣尺码怎么区分
- (34)System Verilog引用包中定义的类(失败)
- iPhone 12 5G更耗电?续航时间较4G妥妥地缩短不少
- Elasticsearch--分词-自定义扩展词库---全文检索引擎ElasticSearch工作笔记022
- 磁盘阵列 RAID 技术原理详解
- GIS_gdal geotiff文件与JAVA 浮点二维数组array之间的转换
- 非常可乐(广度搜索)
- 架构 全局负载均衡与CDN网络简介
- flash 调试版本
- SpringbootJPA分页 PageRequest过时
- Excel/SPSS相关性及显著性水平分析
- 恭喜宿主获得鸿蒙,我在混沌开学院
- CSS溢出文字使用省略号表示
- Hadoop分布式集群搭建以及案例运行-fs操作
- mysql 设置 sql_mode
热门文章
- 高性能mysql 第5章 创建高可用的索引
- vue引入bootstrap、jquery
- Java Socket 编程
- go-基础知识二-数据类型-变量
- 设置ecshop2.7首页幻灯片宽度为100%
- 无法生成“F:\system voiume information”下的常规文件夹列表拒绝访问
- arpspoof渗透工具使用方法详解+实战
- winserver2008/2008R2 AD域控/DNS环境搭建详细步骤
- 案例学习BlazeDS+Spring之三InSync01查找联系人
- kotlin 扩展函数_在 Kotlin 中“实现”trait/类型类