spring boot的热加载(hotswap)

 官网上是叫hotswap,有人翻译成热部署,有人翻译成热加载

个人倾向于使用热加载在这个词,和谷歌翻译的热插拔相似.

关于个人理解

http://www.cnblogs.com/ptqueen/p/8384898.html

idea中分为三步,eclipse好像更简单,没试过,至于各种博客介绍的什么<optional>true.<fork>true都没用,

<optional>依赖传递用,和这个又没有关系.

 当然,多模块项目可以用.

我只需要核心方案和为什么.

网上相关的介绍一大把,我只写需要哪几步,详细说明看参考其他资料.

一.添加dev-tool的依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>

</dependency>

不需要version,version在父pom中有

二.build project automaticlly.

后面的only work while not running没看懂,因为更改了类,所以devtools先帮你停止然后重新运行?

如果不勾选的话改动类的话不会重新启动的

三.registry那个compile.automake

如果不勾选的话修改静态资源和模版不会自动更新.

关于模版配置的cache改为false,实测不用添加也可以更新ftl之类模版的更新,当然如果更新不好用的话就手动加上好了.

注意:

1.

更改了模版内容,需要再点击旁边的窗口,比如structure或者右边的maven project,让光标离开中间的编辑页面,否则检测不出来改动.有点小坑

可能dev-tools需要检测何时编辑完成后才进行资源更新,并不是或者无法检测idea切换窗口

这个和用idea创建的tomcat启动项目不同.有点小坑.tomcat启动的资源更新是idea切换窗口.

2.不太喜欢maven版本的

多模块项目引用了另外一个模块,另外一个模块的jar包不在本地仓库中还报错.还得挨个install

可能我配置的有问题

3.热更新资源稍微有点不稳定,有时候删除的时候移出光标还不更新,还要加个空格才更新

4.此热加载没有任何标志,状态栏没有,event log没有,run也没有,人家tomcat配置的热加载在切换idea的时候任务栏的idea图标会有绿色更新的动态显示.

原文地址:https://www.cnblogs.com/ptqueen/p/8384716.html