官网上是叫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图标会有绿色更新的动态显示.