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

点击应用 。

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

相关推荐
2301_792674861 小时前
java学习day24
java
咸鱼2.08 小时前
【java入门到放弃】跨域
java·开发语言
indexsunny8 小时前
互联网大厂Java求职面试实战:微服务与Spring生态全攻略
java·数据库·spring boot·安全·微服务·面试·消息队列
沐苏瑶8 小时前
Java 搜索型数据结构全解:二叉搜索树、Map/Set 体系与哈希表
java·数据结构·算法
冬夜戏雪9 小时前
实习面经记录(十)
java·前端·javascript
skiy9 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
平生不喜凡桃李9 小时前
浅谈 Linux 中 namespace 相关系统调用
java·linux·服务器
zb200641209 小时前
CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现
java·后端·spring
2401_895521349 小时前
spring-ai 下载不了依赖spring-ai-openai-spring-boot-starter
java·人工智能·spring
何仙鸟10 小时前
GarmageSet下载和处理
java·开发语言