IDEA实现热部署

什么是热部署? 热部署(Hot Deployment)是指在应用程序运行过程中,无需停止整个应用程序或重新启动服务器,就能够部署新的代码、资源或配置文件,使其立即生效。这种部署方式有助于提高开发效率和系统的可用性。

有了热部署之后,当修改了代码的某部分,无需重新启动项目,就能把增量的内容自动编译并部署。只需刷新浏览器就能看到更新代码修改后的效果。极大提升了开发效率和简化了等待时间。

怎样实现热部署? 在IntelliJ IDEA 中,实现热部署常见的有以下几种方式:

  1. 自动编译和部署: IDEA 默认支持自动编译和部署功能。当你修改了代码后,IDEA 会自动编译修改的文件,并将其部署到运行中的应用程序中。确保在项目设置中启用了自动编译功能。
  2. 使用JRebel 插件: JRebel 是一个常用的热部署工具,可以在不重启应用的情况下,立即看到代码变化的效果。在IDEA中,你可以安装 JRebel 插件,并按照文档配置项目以启用热部署。
  3. Spring Boot DevTools : 如果你使用的是 Spring Boot,可以使用 Spring Boot DevTools 提供的热部署功能。在项目的依赖中添加 Spring Boot DevTools,并确保在IDEA中启用自动编译功能

本文中使用的是**Spring Boot DevTools。**IDEA软件版本为2023.2.3。

第一步:引入依赖

在maven项目中的pom.xml文件引入spring-boot-devtools依赖。

代码语言:html

复制

复制代码
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <scope>runtime</scope>
  <optional>true</optional>
</dependency>

第二步:写入配置

在yml文件中写入配置。

代码语言:html

复制

复制代码
spring:
  devtools:
    restart:
      enabled: true

第三步:设置项目自动编译功能(静态编译)

1、对当前项目进行热部署

鼠标右键:File --> Settings --> Build,Exec.... --> compiler --> 勾选Build project automatically。如图所示。

Build project automatically:自动对项目进行打包 最后点击应用。

2、对新创建的项目进行热部署(可省略)

鼠标右键:File --> New Projects Setup --> Settings for New Projects --> Settings --> Build,Exec.... --> compiler --> 勾选**Build project automatically。**如图所示。

剩余步骤同上,这里就不放截图了。

第四步:开启运行中热部署(动态编译)

鼠标右键:File --> Settings --> Advanced Settings --> 勾选 Allow auto-make to start even.....

点击应用 。

更改项目代码后,返回页面,刷新即可看到热部署的效果。

相关推荐
Wang's Blog8 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
此时不提桶,更待何时9 小时前
01-04-B-垃圾回收面试与生产事故实战
java·jvm·面试
鹿角片ljp10 小时前
KV Cache 解析
java·算法
captain37611 小时前
网络原理(9)-数据链路层
java·网络协议·java-ee
惊讶的猫11 小时前
意图识别置信度和检索重排的分数
java
caoerzhong12 小时前
仓库管理数字化趋势解读:JeeWMS 开源 Java WMS 视角下的五个演进方向
java·开源
程序员JerrySUN12 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
Joy T13 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者13 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘