Idea配置热部署

Idea配置热部署

一、概念

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

二、Idea开启热部署

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

2.1 Tomcat热部署

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

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

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

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

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

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

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

2.2 Spring boot程序热部署

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

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

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

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

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

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

html 复制代码
<!-- 热部署 --> 
<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

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

PS:

  • 本文属于本人原创文章,转载请注明出处,如果你觉得这篇文章对你有帮助或启发,也可以来请我喝咖啡。
  • 利益相关:本篇文章所有提到的商业品牌或网站链接均为笔者随意想到的或日常使用的,无任何广告费用。
相关推荐
BestandW1shEs19 分钟前
快速入门Flink
java·大数据·flink
奈葵26 分钟前
Spring Boot/MVC
java·数据库·spring boot
小小小小关同学34 分钟前
【JVM】垃圾收集器详解
java·jvm·算法
日月星宿~42 分钟前
【JVM】调优
java·开发语言·jvm
matlabgoodboy1 小时前
代码编写java代做matlab程序代编Python接单c++代写web系统设计
java·python·matlab
aloneboyooo1 小时前
Android Studio安装配置
android·ide·android studio
liuyunshengsir1 小时前
Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
java·spring boot·prometheus
路上阡陌2 小时前
Java学习笔记(二十四)
java·笔记·学习
何中应2 小时前
Spring Boot中选择性加载Bean的几种方式
java·spring boot·后端
苏苏大大2 小时前
zookeeper
java·分布式·zookeeper·云原生