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

点击应用 。

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

相关推荐
老鼠只爱大米22 分钟前
Java 设计模式之适配器模式:系统集成的万能接口
java·设计模式·适配器模式·adapter·java设计模式
一叶飘零_sweeeet23 分钟前
Java+EasyExcel 打造学习平台视频学习时长统计系统
java·报表·easyexcel
Go away, devil24 分钟前
Java-----集合
java·开发语言
JIngJaneIL26 分钟前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·内蒙古景点旅游
新之助小锅1 小时前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
无糖冰可乐213 小时前
IDEA多java版本切换
java·ide·intellij-idea
合作小小程序员小小店3 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea
brucelee1863 小时前
IntelliJ IDEA 设置 Local History 永久保留
java·ide·intellij-idea
Pluto_CSND5 小时前
Java中的静态代理与动态代理(Proxy.newProxyInstance)
java·开发语言
百***46456 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu