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.....

点击应用 。

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

相关推荐
西岭千秋雪_2 分钟前
谷粒商城のElasticsearch
java·大数据·服务器·spring boot·elasticsearch·搜索引擎
yueqingll30 分钟前
020、二级Java选择题综合知识点(持续更新版)
java·开发语言
数云界31 分钟前
使用 VSCode 在 Python 中创建项目环境
ide·vscode·python
m0_6085709834 分钟前
vscode对python进行多卡调试
ide·vscode·python
冲,干,闯37 分钟前
VScode相关问题与解决
c++·ide·vscode
许野平1 小时前
Rust:深入浅出说一说 Error 类型
java·开发语言·rust·error
jingling5551 小时前
后端开发刷题 | 数字字符串转化成IP地址
java·开发语言·javascript·算法
茜茜西西CeCe1 小时前
大数据处理技术:HBase的安装与基本操作
java·大数据·数据库·hbase·头歌·大数据处理技术
ZachOn1y1 小时前
Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 死亡对象判断方法
java·jvm·后端·java-ee·团队开发·个人开发
J老熊1 小时前
Linux下抓包分析Java应用程序HTTP接口调用:基于tcpdump与Wireshark的综合示例
java·linux·运维·web安全·http·面试