博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot 整合 devtools 实现热部署
阅读量:5141 次
发布时间:2019-06-13

本文共 1177 字,大约阅读时间需要 3 分钟。

来源:https://www.cnblogs.com/rcddup/p/7533125.html

一、添加 devtools 依赖

org.springframework.boot
spring-boot-devtools
true

  当配置了 devtools 后,我们在 classpath 修改任何文件项目都将会自动重启。

  (1)某些资源在更改时不一定需要触发重新启动。例如, Thymeleaf 模板可以就地进行编辑。默认情况下更改资源路径包括了:/META-INF/maven/META-INF/resources ,/resources ,/static ,/public 或者 /templates 不会触发重新启动, 但会触发实时重新加载。

如果逆向排除这些路径,可以使用如下配置:

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

  (2)如果要保留这些默认值并添加其他排除项, 请使用 spring.devtools.restart.additional-exclude 属性代替。

  (3)通过 System.setProperty("spring.devtools.restart.enabled", "false"); 方法,可以在 SpringApplication.run() 方法运行天使用关闭 devtools。

  (4)当我们再次启动 App.java 的时候,使用的加载器就变为了 restartedMain 了,说明热部署已经成功。

 

 

   注意点:devtools 由于是双类加载机制,再结合了通用 Mapper 后可能会出现 java.lang.ClassCastException 异常 (例如:说class x.x.A cannot be cast to x.x.A。)。

  解决方案就如下:

  在 src/main/resources 中创建 META-INF 目录,在此目录下添加 spring-devtools.properties 配置,内容如下:

  restart.include.mapper=/mapper-[\\w-\\.]+jar  restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar

转载于:https://www.cnblogs.com/lshan/p/10608108.html

你可能感兴趣的文章
查询数据库锁
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
面试时被问到的问题
查看>>
spring 事务管理
查看>>
VS2008 去掉msvcr90的依赖
查看>>
当前记录已被另一个用户锁定
查看>>
Node.js 连接 MySQL
查看>>
那些年,那些书
查看>>
注解小结
查看>>
java代码编译与C/C++代码编译的区别
查看>>
Bitmap 算法
查看>>
转载 C#文件中GetCommandLineArgs()
查看>>
list control控件的一些操作
查看>>
LVM快照(snapshot)备份
查看>>
绝望的第四周作业
查看>>
一月流水账
查看>>
npm 常用指令
查看>>
非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
查看>>
判断字符串在字符串中
查看>>
Linux环境下Redis安装和常见问题的解决
查看>>