java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

一、通过配置文件控制静态资源的热部署

在配置文件 application.properties 中添加:

#表示从这个默认不触发重启的目录中除去static目录

spring.devtools.restart.exclude=classpath:/static/**

或者使用:

#表示将static目录加入到修改资源会重启的目录中来

spring.devtools.restart.additional-paths=src/main/resource/static

此时对static 目录下的静态资源文件做修改,点击构建,则会达到和热部署一样的作用效果

8aa1bb1063b96e320ed20619442dd84a.png

但是这两种方法用处不大,平时我们也不可能修改一行代码就重启一次项目,所以可以通过spring.devtools.restart.trigger-file,通过一个文件来控制是否重启项目,当该文件改变时(同时项目代码有所改动)项目才会重启,否则不会重启项目。

二、通过 LiveReload 插件控制静态文件的热部署

前面虽然可以通过配置解决静态文件的热部署问题,但是没有必要!因为静态资源文件发生变化后不需要编译,按理说保存后刷新下就可以访问到了。

devtools 中默认嵌入了 LiveReload 服务器,利用 LiveReload 可以实现静态文件的热部署,LiveReload 可以在资源发生变化时自动触发浏览器更新,LiveReload 支持 Chrome、Firefox 以及 Safari 。以 Chrome 为例,在 Chrome 应用商店搜索 LiveReload ,结果如下图:

c79a89ebef6692f3e82dbe9a571085bb.png

在浏览器中打开项目的页面,然后点击浏览器右上角的 LiveReload 按钮,打开 LiveReload 连接。

4a9716d67efee063d1e4cd88f75b74e4.png

注意:

LiveReload 是和浏览器选项卡绑定在一起的,在哪个选项卡中打开了 LiveReload,就在哪个选项卡中访问页面,这样才有效果

需要注意这里同样需要点击这个图标进行构建:

47a74ea844259b07657eeb14f274d818.png

如果不想使用这个功能也可以在 application.properties 中进行配置:

#禁用 LiveReload 功能

spring.devtools.livereload.enabled=false

三、配置 IDEA 即时编译

eclipse 保存既编译,idea 会自动保存,运行时会先编译再运行,所以造成有时感觉IDEA 启动项目比较慢

如果不想点击上面的图标,想让它自己编译运行可以:(一般情况不建议改成即时编译)

(1)勾选 Build project automatically

ad885f597008f7f29721301eb5ed7026.png

(2)Ctrl+Alt+Shift+/ 呼出:Registry,回车勾选如图所示选项

bdf93aa4bdc91404168ffa70742d83e3.png

284720cffcbf7a22b4db47a274ea87b7.png

然后点击 close,然后就设置成功了,此时配合 LiveReload(需要启动),代码将会直接反应到浏览器中。(注意需要反应一小会才可以看到结果)

四、禁用热部署自动重启

通过 application.properties 中配置:

#禁用热部署,自动重启功能

spring.devtools.restart.enabled=false

也可以在 SpringBoot 引导类中配置:

//设置关闭热部署

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

2707e2187ee2ff04ccc44c415920ddce.png

五、项目重启中的全局配置

当有多个SpringBoot 模块时,可以通过全局配置解决项目重启的热部署问题。

在当前用户目录下,新建.spring-boot-devtools.properties:写入

spring.devtools.restart.trigger-file=.trigger-file

此时,只有trigger-file文件发生变化,项目才会重新启动

这个配置文件对于电脑上任何使用 devtools 的模块都有效

感觉这有点麻烦,感觉这种设置针对的是第三步中设置的即时编译,如果不设置即时编译,那直接点 idea 上面那个小锤子图标(Build Project)即可。

到此这篇关于一篇文章带你搞定SpringBoot不重启项目实现修改静态资源的文章就介绍到这了,更多相关SpringBoot不重启修改静态资源内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断深度学习模型的稳定性_全自动搭建定制化深度学习模型

EasyDL服务自动化生成与部署EasyDL定制化训练和服务平台基于百度业界领先算法,旨在为用户量身定制业务专属AI模型。通过灵活的配置,用户可以将模型发布为公有云API、设备端离线SDK、本地服务器部署包、软硬一体方案等多种输出方式的AI服务。目前&#xf…

Android应用程序消息处理机制(Looper、Handler)分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6817933 Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息 队例中…

冒泡排序和选择排序区别_你以为只是简单的排序?(一)

一直在犹豫要不要写排序的文章,因为真的烂大街了。可是一旦细看,还真是很多值的思考的地方,所以还是选择记录一下以下完整代码,均可从这里获取https://github.com/Rain-Life/data-struct-by-go/tree/master/sort排序算法效率分析了…

java hash 分库分表_分库分表方案

摘自:Java技术栈一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以…

verilog设计简易正弦波信号发生器_信号发生器工作原理是什么

信号发生器是指产生所需参数的电气测试信号的仪器。根据信号波形可分为四类:正弦信号、函数(波形)信号、脉冲信号和随机信号发生器。那么信号发生器工作原理是什么?听听广州荣鑫电子怎么说。信号发生器又称信号源或振荡器&#xf…

LeetCode 1780. 判断一个数字是否可以表示成三的幂的和(位运算)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n ,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true ,否则请返回 false 。 对于一个整数 y ,如果存在整数 x 满足 y3xy 3^xy3x,我们称这个整数 y 是三的幂…

.net pdf转图片_pdf2image类库实现批量pdf转图片

通过pdf2image来实现对PDF文件的处理工作,我们本次主要做的是将PDF文件批量转成图片。之前写过批量提取封面的文章,但是在后期的深入编写过程中遇到一些问题,近期再次深入编写程序,一起来看看代码吧!python一、说明本次…

java 悬浮提示框_表格(悬浮框提示)

JTable的ToolTip提示和其它的组件提示是一样的,因为它们都是继承于Jcomponent,当我们需要为我们的单元格实现ToolTip的时候,只需要复写它的getToolTipText方法就可以了,看看Sun官方的例子://Implement table cell tool tips.OverridepublicString getToolTipText(Mo…

linux远程工具_【linux实操3.1】linux远程连接工具Secure的使用

把自己的闲置笔记本用来做centos7服务器了,同时也出一期教程,记录自己同时也帮助需要的人;安排如下1、【linux实操1】华硕笔记本安装centos7实战2、【linux实操2】使用yum在命令行安装常用工具3、【linux实操3】安装漂亮的桌面xfce桌面**记录…

IOS--UIAlertView的使用方法详细

IOS--UIAlertView的使用方法详细 // UIAlertView的常用方法 // 标准样式 UIAlertView *oneAlertView [[UIAlertView alloc] initWithTitle:"标题"message:"提示内容" delegate:self cancelButtonTitle:"关闭"otherButtonTitles:"OK"…

afreecatv 回放下载_行车记录仪怎么看回放?行车记录仪停车后能自动录像吗

点击上面蓝色字↑↑↑即可免费订阅!请喜欢的朋友请转发和分享,让更多朋友看到汽车知识天天学 (微信号:qiche92 )  行车记录仪最关键的一个部件,它就是储存零件——TF卡(内存卡)。在购买行车记录仪时,TF卡并不是标配&…

lstm原始论文_有序的神经元——ON-LSTM模型浅析

尽管最近出现的Transformer系列的模型在nlp领域内很流行,但RNN仍然有着重要的地位。本文介绍的模型来自于ICLR 2019的最佳论文之一,它针对自然语言具有语法分层的特点,对原有的LSTM模型的结构做出了改进,使得新模型不仅具有更好的…

c++ 航空管理系统_浅谈航站楼能源管理系统的设计与应用

蒋超萍江苏安科瑞电器制造有限公司 江苏江阴 214400 【摘要】根据航站楼的特点,从航站楼能源消耗现状、能源管理系统的功能、系统架构、子系统以及能源的优化调度方案五个方面介绍了航站楼能源管理系统的设计,并对节能效果进行了预测。关键词&#xff1a…

LeetCode 1785. 构成特定和需要添加的最少元素(贪心)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums &#xff0c;和两个整数 limit 与 goal 。 数组 nums 有一条重要属性&#xff1a;abs(nums[i]) < limit 。 返回使数组元素总和等于 goal 所需要向数组中添加的 最少元素数量 &#xff0c;添加元素 不应改变 数组中 …

insert和update 锁等待_黑龙F5智感双全智能锁全球首发,掀起惊艳风潮

2020备受瞩目重磅新品 —— 黑龙F5智感双芯智能门锁&#xff0c;正式官宣&#xff0c;革新行业的智感解锁交互&#xff0c;强大的双芯片双智控&#xff0c;再次掀起惊艳风潮。双芯片科技感交互&#xff0c;领行业新风向黑龙F5智能锁前沿性地配备双芯片&#xff0c;以双核分别掌…

怎么更改苹果账户名称_番茄todo小组件背景怎么改 苹果番茄todo小组件背景更改方法介绍...

番茄todo小组件背景怎么改&#xff0c;这也是大家会用到的一款倒计时APP&#xff0c;那么用户们应该怎么更改小组件的背景图片呢&#xff0c;可能还有些人不知道更改的方法。所以这里就为大家带来了具体的步骤!番茄todo小组件背景怎么改1.在打开APP后&#xff0c;如没有待办事项…

LeetCode 1786. 从第一个节点出发到最后一个节点的受限路径数(迪杰斯特拉 + 拓扑排序)

文章目录1. 题目2. 解题1. 题目 现有一个加权无向连通图。 给你一个正整数 n &#xff0c;表示图中有 n 个节点&#xff0c;并按从 1 到 n 给节点编号&#xff1b;另给你一个数组 edges &#xff0c;其中每个 edges[i] [ui, vi, weighti] 表示存在一条位于节点 ui 和 vi 之间…

java选择题多选题系统小程序_单选题与多选题判断得分(自动考试小程序,入门级)...

【单选题与多选题判断得分】【核心代码】using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 自动…

diskfileitemfactory 需要的包_浅析电动汽车电池包低压线束设计及制造

点击上方右侧“EDC电驱未来”可订阅哦&#xff01;般的电池包低压线束承载着模组通信、模组采样和电池管理等功能。电池包低压线束一般分为模组通信线束、模组采样线束、BMS线束等。这里结合实际工作中的经历和遇到的困扰&#xff0c;主要分析和探讨SUV纯电动汽车电池包低压线束…

xgboost实例_XGBoost超详细推导,终于有人讲明白了!

- XGB中树结点分裂的依据是什么&#xff1f;- 如何计算树节点的权值&#xff1f;- 为防止过拟合&#xff0c;XGB做了哪些改进&#xff1f;相信看到这篇文章的各位对XGBoost都不陌生&#xff0c;的确&#xff0c;XGBoost不仅是各大数据科学比赛的必杀武器&#xff0c;在实际工作…