版权声明:本文为博主原创文章,转载请注明链接地址。谢谢! https://blog.csdn.net/wdy_2099/article/details/82623350
背景:我们在开发过程中,很多时候改一个java文件,比如输出一行log,改一个名称等等类似小的改动,需要重新启动Tomcat服务器,如果项目比较大的话,重启的时间成本将会非常的大。为了避免这样的消耗,我们需要在开发中设置热部署
【注意,注意,注意,重要的话说3次】: 此类型的热部署,需要以Debug模式启动项目,Run方式测试貌似不好使
闲话少叙,开始:
首先,设置配置idea的设置:如下图,在tomcat设置中,部署Deployment中选择项目名:war ecploded格式的Artifact
其次,回到Server选项页,设置其更新发生的事情,这块就是热部署的核心地方了:如图
说明一下:
On ‘Update’ action:这个是指手动点击更新的时候发生的事件,就是更新所有类文件和资源;那具体点那儿是手动更新呢?如下图:
On frame deactivation: 这个表示在idea失去焦点的时候,也就是idea不在主界面的时候,或者说切换到其他界面的时候发生的事件,也是更新所有类文件和资源。
那到此就全部设置完成了,以debug启动tomcat,然后找一个Controller,return一句话,然后,改动这个java文件,以以上方式测试,发现不用重新启动tomcat也可以获取最新改动的内容。
后记:
其实现在微服务比较盛行,springboot的热部署就不用这样了,直接加入依赖就可以了,如下图:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
———-当然,springboot的部署还有其他方式,以上这种最快捷,方便了。推荐哦。