⼀篇⽂章带你搞定SpringBoot不重启项⽬实现修改静态资源
⼀、通过配置⽂件控制静态资源的热部署
在配置⽂件application.properties中添加:
#表⽰从这个默认不触发重启的⽬录中除去static⽬录
lude=classpath:/static/**
或者使⽤:
#表⽰将static⽬录加⼊到修改资源会重启的⽬录中来
start.additional-paths=src/main/resource/static
此时对static ⽬录下的静态资源⽂件做修改,点击构建,则会达到和热部署⼀样的作⽤效果
但是这两种⽅法⽤处不⼤,平时我们也不可能修改⼀⾏代码就重启⼀次项⽬,所以可以通过igger-file,通过⼀个⽂件来控制是否重启项⽬,当该⽂件改变时(同时项⽬代码有所改动)项⽬才会重启,否则不会重启项⽬。
⼆、通过 LiveReload 插件控制静态⽂件的热部署
前⾯虽然可以通过配置解决静态⽂件的热部署问题,但是没有必要!因为静态资源⽂件发⽣变化后不需要编译,按理说保存后刷新下就可以访问到了。
devtools 中默认嵌⼊了 LiveReload 服务器,利⽤ LiveReload 可以实现静态⽂件的热部署,LiveReload 可以在资源发⽣变化时⾃动触发浏览器更新,LiveReload ⽀持 Chrome、Firefox 以及 Safari 。以 Chrome 为例,在 Chrome 应⽤商店搜索 LiveReload ,结果如下图:
在浏览器中打开项⽬的页⾯,然后点击浏览器右上⾓的 LiveReload 按钮,打开 LiveReload 连接。
注意:
LiveReload 是和浏览器选项卡绑定在⼀起的,在哪个选项卡中打开了 LiveReload,就在哪个选项卡中访问页⾯,这样才有效果
需要注意这⾥同样需要点击这个图标进⾏构建:
如果不想使⽤这个功能也可以在 application.properties 中进⾏配置:
#禁⽤ LiveReload 功能
spring.abled=false
三、配置 IDEA 即时编译
eclipse 保存既编译,idea 会⾃动保存,运⾏时会先编译再运⾏,所以造成有时感觉IDEA 启动项⽬⽐较慢
如果不想点击上⾯的图标,想让它⾃⼰编译运⾏可以:(⼀般情况不建议改成即时编译)
springboot原理pdf
(1)勾选 Build project automatically
(2)Ctrl+Alt+Shift+/呼出:Registry,回车勾选如图所⽰选项
然后点击 close,然后就设置成功了,此时配合 LiveReload(需要启动),代码将会直接反应到浏览器中。(注意需要反应⼀⼩会才可以看到结果)四、禁⽤热部署⾃动重启
通过 application.properties 中配置:
#禁⽤热部署,⾃动重启功能
abled=false
也可以在 SpringBoot 引导类中配置:
//设置关闭热部署
System.setProperty("abled","false");
五、项⽬重启中的全局配置
当有多个SpringBoot 模块时,可以通过全局配置解决项⽬重启的热部署问题。
在当前⽤户⽬录下,新建.spring-boot-devtools.properties:写⼊
igger-file=.trigger-file
此时,只有trigger-file⽂件发⽣变化,项⽬才会重新启动
这个配置⽂件对于电脑上任何使⽤ devtools 的模块都有效
感觉这有点⿇烦,感觉这种设置针对的是第三步中设置的即时编译,如果不设置即时编译,那直接点 idea 上⾯那个⼩锤⼦图标(Build Project)即可。
到此这篇关于⼀篇⽂章带你搞定SpringBoot不重启项⽬实现修改静态资源的⽂章就介绍到这了,更多相关SpringBoot不重启修改静态资源内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。