spring-boot-devtools 实现热部署
想在Spring Boot中使用该功能非常简单,添加依赖:
<!-- 热部署模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖该项目的项目如果想要使用devtools,需要重新引入 -->
</dependency>
spring-boot-devtools为应用提供一些开发时特性,包括默认值设置,自动重启等。
默认属性
在Spring Boot集成Thymeleaf时,spring.thymeleaf.cache
属性设置为false可以禁用模板引擎编译的缓存结果。
现在,devtools会自动帮你做到这些,禁用所有模板的缓存,包括Thymeleaf, Freemarker,, Velocity等。
关闭自动重启
设置 spring.devtools.restart.enabled 属性为false,可以关闭该特性。
注:IDEA下需要重新编译文件 Ctrl+Shift+F9或者编译项目 Ctrl+F9
建议spring mvc开发,关闭掉自动重启。
spring.devtools.restart.enabled=false
JRebel 插件实现热部署
ps: JRebel 的个人免费,长期有效许可证,可以到 https://my.jrebel.com 领取(需要facebook或者twitter,嗯,你要会翻墙)
当然,使用JRebel 热部署插件也可以。
对需要热部署的模块,勾选JRebel启用
Alt+Ctrl+Shift+/
勾选上compiler.automake.allow.when.app.running
使用JRebel 按钮启动
任意修改Java代码,并 ctrl + s 保存 。还不用Ctrl_Shift+F9!!!
热部署成功,修改完的效果马上就呈现出来了,如果是mvc开发,刷新页面就可以了哦。
by 斯武丶风晴 https://my.oschina.net/langxSpirit