在项目开发的过程中,常常会因为需求的变化以及Bug的出现,需要改动页面数据或者修改数据结构。对数据进行修改后,往往需要重启应用查看改动效果,这给程序的调试带来了非常大的不便。
点击此处添加图片说明文字
为了解决这个问题,热部署应运而生。热部署不仅大大提高了开发人员的编程效率,也使得程序的调试过程变得行云流水。
点击此处添加图片说明文字
热部署,即正在运行状态的应用,修改了它的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。
热部署主要解决了以下两个问题:
点击此处添加图片说明文字
本篇文章主要介绍IDEA这款开发工具的热部署配置方式,而IDEA的使用者大多数都是用来开发java应用,当前流行的java应用主要有两种,第一种是传统的Web应用,依赖Tomcat这种Web容器运行;第二种是Spring boot应用, 内嵌了运行环境。
(1)Tomcat热部署
在IDEA顶部的程序运行操作栏找到服务器配置下拉框, 单击服务器配置下拉框中的Edit Configurations。
点击此处添加图片说明文字
在左侧Tomcat Server下拉选项中选择你要配置的Tomcat,单击deployment,然后单击deployment界面右侧的 “+”,添加你要部署的war包,热部署必须要选择带有exploded后缀的war包。
点击此处添加图片说明文字
切换到Server界面,将VM options下的两个下拉框选择为 Update classes and resources;在Before launch:Build, Build Artifacts,Activate tool window选项下选择“Build'项目名:war_exploded'artifact”。
点击此处添加图片说明文字
配置完后单击ok即可完成IDEA中Tomcat的热部署配置。
需要注意的是,IDEA中Tomcat热部署并非绝对实时, 还是会有延时的,假如你在调试程序过程中手速快的话可能会出现改了并没有马上生效的情况。此时先不要怀疑热部署没有配置成功,稍微等一会你会看到开发工具左下角会有一个class reload的提示,出现这个提示才说明已经热部署完成了。
点击此处添加图片说明文字
当然, 如果你想马上生效的话,可以单击下图标注的按钮,或者使用快捷键Ctrl + F10使其立即生效。
点击此处添加图片说明文字
(2)SpringBoot热部署
在IDEA顶部找到程序运行操作栏, 单击Edit Configurations。
点击此处添加图片说明文字
在左侧Spring Boot下拉选项中选中你要配置的程序,单击Configurations选项,将Running Application update Policies下的两个下拉框选择为 Update classes and resources。
点击此处添加图片说明文字
单击ok即可完成SpringBoot实现热部署配置。
Spring boot程序除了通过上述步骤实现热部署,还可以通过给程序添加spring-boot-devtools依赖实现。
点击此处添加图片说明文字
(3)注意
如果你通过上面的步骤还没实现想要的热部署效果,可以继续做以下两个配置。
1、在IDEA工具栏选择settings—》build—》Compile,勾选Build project automatically。
点击此处添加图片说明文字
2、在IDEA使用快捷键ctrl + shift +alt + /,双击Registry,勾选:
compiler.automake.allow.when.app.running。
点击此处添加图片说明文字
以上就是IDEA中Tomcat和SpringBoot的热部署配置,小伙伴们get到了吗?