IDEA怎么配置热部署功能【进阶】

秋婷君_1519

秋婷君_1519

2026-07-02

721人浏览

原创

必须配置运行时自动编译、spring-boot-devtools依赖(scope为runtime、optional为true)、application.yml重启路径监听,以及spring-boot-maven-plugin插件并设置fork=true,四者缺一不可。

idea怎么配置热部署功能【进阶】

要在IntelliJ IDEA中让Spring Boot项目真正实现“改完代码→保存→几秒内生效”的开发流,必须突破基础自动编译层面,解决类加载隔离、运行时编译许可、Maven插件协同这三重关卡。只勾选Build project automatically远远不够,漏掉任意一环都会导致修改后静默失效。

启用运行时自动编译(关键前提)

IDEA默认禁止应用运行时触发编译,这是热部署失效最隐蔽的原因。

按 Ctrl+Shift+Alt+/ 打开Registry面板。

搜索 compiler.automake.allow.when.app.running 并勾选它——【不勾选此项,即使DevTools已加载,保存代码也不会触发编译】。

关闭Registry对话框,无需重启IDEA,该设置立即生效。

配置DevTools依赖与重启策略

仅添加devtools依赖不足以激活全部能力,需配合YAML显式控制重启行为。

在pom.xml中确认存在以下依赖(scope必须为runtime,optional必须为true):

org.springframework.bootspring-boot-devtoolsruntimetrue

在application.yml中添加重启路径监听,确保非src/main/resources下的配置变更也能被捕捉:

spring:
  devtools:
    restart:
      enabled: true
      additional-paths: src/main/java,src/main/resources

Personal Ideas
Personal Ideas

在创意主题中,作为用户的想法捕捉与头脑风暴伙伴,捕捉灵感、发展思路、连接过去的想法。适用于面对面时。

下载

注意:additional-paths值必须用英文逗号分隔,空格会导致解析失败,且不能包含尾随逗号。

强制Maven插件fork独立进程

这是2024.3+版本IDEA与Spring Boot 3.x兼容的硬性要求。若未配置fork,RestartClassLoader会被父加载器污染,导致新旧类共存、静态字段残留、Bean重复注册等不可预测问题。

在pom.xml的节点内插入完整插件配置:


  org.springframework.boot
  spring-boot-maven-plugin
  
    com.yourpackage.Application
    true
  

【mainClass必须与实际启动类全限定名完全一致,大小写敏感,否则fork进程无法启动】

配置完成后,右键pom.xml → Maven → Reload project,确保插件被正确识别。

验证热部署是否真正就绪

方法一:修改任意@Controller中的返回字符串,保存后观察控制台输出——应出现“Restarting due to changes in…”字样,并在2–4秒内完成上下文刷新。

方法二:在启动类main方法末尾添加System.out.println("PID: " + ManagementFactory.getRuntimeMXBean().getName());,两次保存修改后对比PID,若PID不变说明是热重启;若变化则仍是全量重启,说明fork未生效或DevTools未加载。

方法三:访问http://localhost:8080/actuator/health,再修改一个@Service方法逻辑并保存,立刻调用该接口——响应内容应体现新逻辑,且无500错误。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
idea快捷键大全
idea快捷键大全

本专题为大家提供idea快捷键相关的文章,帮助大家解决问题。

2023.08.03

2342

3

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

304

5

idea怎么配置maven
idea怎么配置maven

idea配置maven的步骤:1、打开intellij idea,并确保已安装maven integration插件,可以在"file"菜单中选择"settings",然后在"plugins"选项卡中搜索并安装maven integration插件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

352

5

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

642

5

webstorm和idea有什么区别
webstorm和idea有什么区别

webstorm专为web开发量身定制,提供针对web开发语言的强大功能,而intellij idea是支持多种语言的多功能ide。它们的差异主要在于语言支持、web开发特性、代码导航、调试和测试功能、附加特性。最终选择取决于语言偏好和项目需求。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

6688

6

idea配置运行go语言环境
idea配置运行go语言环境

本专题整合了idea配置go开发环境相关教程,阅读专题下的文章了解更多详细内容。

2025.09.05

2009

7

idea保存方式
idea保存方式

IDEA 的保存方式:直接保存:Ctrl + S (Windows/Linux) / Command + S (Mac)另存为:Ctrl + Shift + S (Windows/Linux) / Command + Shift + S (Mac)保存所有:Ctrl + Alt + S (Windows/Linux) / Command + Option + S (Mac)自动保存:在 IDE 设置中启用自动保存功能,每隔一段时间会自动

2025.10.15

4720

4

idea回到初始界面
idea回到初始界面

可以通过四种方法返回 IntelliJ IDEA 的初始界面:使用快捷键 (Windows/Linux:Ctrl + Shift + F10;macOS:Cmd + Shift + F10);使用菜单栏(文件 > 关闭所有 > 退出);使用工具栏上的关闭按钮;或在命令行中运行命令(idea --new-instance)。所有方法都会在关闭未保存的更改后重载初始界面。

2025.10.15

14165

28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程