前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Idea配置热部署「建议收藏」

Idea配置热部署「建议收藏」

作者头像
全栈程序员站长
发布2022-08-31 16:06:19
4.6K0
发布2022-08-31 16:06:19
举报

大家好,又见面了,我是你们的朋友全栈君。

Idea配置热部署

一、概念

热部署就是正在运行状态的应用,修改了他的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个, 一是在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;二是生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。

二、Idea开启热部署

本篇文章主要是介绍Idea这款开发工具的热部署,而用Idea的人大多数都是用来开发java程序,当前流行的java程序主要有两种,第一种是传统的Web应用,依赖Tomcat这种web容器运行;第二种是Spring boot程序, 内嵌了运行环境。

2.1 Tomcat热部署

a). 在顶部找到程序运行操作栏, 点击Edit Configurations

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

b). 点击你要配置的tomcat,点击deployment,点击”+“

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

c). 然后选择你要部署的war包,热部署必须要选择带有exploded的war包

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

d). 再切换回Server,按照下图标注配置

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

配置完后点击ok即可启动你的tomcat,然后改一下jsp、java文件实验热部署配置是否成功。

最后提示一下,Idea热部署并非绝对实时, 还是会有延时的,假如你手速快的话可能会出现改了并没有马上生效。所以此时不要怀疑热部署没有配置成功,稍微等一会你会看到开发工具左下角会有一个class reload的提示,出现这个提示才说明已经热部署完成了。

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

当然, 如果你想马上生效的话,可以点击下图标标注的按钮,或者使用快捷键Ctrl + F10

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

2.2 Spring boot程序热部署

a). 在顶部找到程序运行操作栏, 点击Edit Configurations,点击要配置的程序,按照下图标注地方配置

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

配置完后点击ok即可启动你的程序,java文件实验热部署配置是否成功。

但配置到这里只是会使java文件和其他静态资源热部署成功,但如果您的Spring boot程序是web程序,并且有jsp或Thymeleaf等页面模板引擎,则还需要在Spring boot的配置文件中配置。

如果是jsp, 在application.yml文件下加入配置

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

如果是Thymeleaf, 则在application.yml文件加入spring:thymeleaf:cache: false 配置

Spring boot程序除了通过上述步奏实现热部署,还可以通过给程序添加spring-boot-devtools依赖实现。

代码语言:javascript
复制
<!-- 热部署 --> 
<dependency> 
    
    <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId> 
    <version>2.0.4.RELEASE</version> 
    
    <!-- 启用 --> 
    <optional>true</optional> 
</dependency>

三、其他配置

如果你通过上面的步骤还没实现想要的热部署效果,可以继续做以下两个配置

3.1 开启Java Compiler的自动build

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

3.2 按住ctrl + shift +alt + / 选择Registry,按照下图标注配置

Idea配置热部署「建议收藏」
Idea配置热部署「建议收藏」

PS:

  • 本文属于本人原创文章,转载请注明出处,如果你觉得这篇文章对你有帮助或启发,也可以来请我喝咖啡。
  • 利益相关:本篇文章所有提到的商业品牌或网站链接均为笔者随意想到的或日常使用的,无任何广告费用。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143130.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Idea配置热部署
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档