IDEA中spring-boot-devtools热部署修改类文件时不起作用

如果您在使用 IntelliJ IDEA 时修改类文件时发现热部署不起作用,请按照以下步骤进行排查:

  1. 确认您是否已启用了 Devtools。请确保在运行应用程序时,并没有禁用自动构建功能和 Devtools 监视器。您可以在 “File” > “Settings” > “Build, Execution, Deployment” > “Compiler” 菜单下的右侧面板中勾选“Build project automatically”选项来启用自动构建。在主菜单中选择 “Run” > “Edit Configurations”,点击 “+ " 添加配置并选择"Spring Boot”,在该配置下的 “Configuration” 标签页中将 “On frame deactivation” 选项设置为 “Update classes and resources” 并勾选 “Delegate IDE build/run actions to Maven”。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 检查您是否在修改了类文件后保存并编译了它们。Devtools 只会监视已经编译的类文件更改,因此,在进行测试之前,请确保您已保存并编译了所有更改。
  2. 如果您正在运行 Web 应用程序,则检查您是否已对 IDE 或相关工具进行必要的配置。例如,如果您使用的是 Tomcat 或 Jetty 作为嵌入的 Servlet 容器,您需要将其配置为 development 模式以便自动重载 servlet。这可以通过在 application.properties 文件中添加以下内容来实现:
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-paths=src/main/java
  1. 如果您使用的是较旧版本的 IntelliJ IDEA,请尝试将其升级到最新版本。由于 Devtools 是一个相对较新的工具,某些旧版 IntelliJ IDEA 可能与它不兼容。
  2. 尝试清除 IntelliJ IDEA 缓存并重新编译项目。如果缓存中存有错误的信息,可能会导致热部署的行为异常。

重启服务–重启服务–重启服务 (重要的事情说三遍)

以上是一些可能的解决方案。如果您按照上述步骤进行排查仍然无法解决问题,请考虑在论坛、社区或官方文档寻求更多帮助。

### 配置 Spring Boot DevTools 实现热部署 为了使 Spring Boot 应用程序能够支持热部署,需按照如下方式配置: #### Maven 或 Gradle 中引入依赖 在项目的构建文件中加入 `spring-boot-devtools` 依赖项。对于基于Maven的项目,在pom.xml 文件内添加以下片段[^4]: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> ``` 而对于采用Gradle作为构建工具的情况,则应在build.gradle里声明相应的依赖关系。 #### 修改 application.properties 或者 application.yml 文件 为了让应用程序响应代码更改而自动重启,可以在application.properties (或 .yml) 文件中指定相关属性来启用此功能: ```properties # 开启热部署 spring.devtools.restart.enabled=true # 设置额外监控路径,默认为 classpath 下方所有资源;这里指定了 Java 源码所在位置 spring.devtools.restart.additional-paths=src/main/java # 排除不需要触发重启操作的特定目录,比如静态资源文件夹 spring.devtools.restart.exclude=static/** ``` 另外还可以调整其他一些参数以优化性能表现,例如关闭模板引擎缓存以便即反映视图层的变化[^5]: ```properties # 页面不产生缓存,及更新 spring.thymeleaf.cache=false # 启用内容协商策略处理静态资源版本管理 spring.resources.chain.strategy.content.enabled=true spring.resources.chain.strategy.content.paths=/\** ``` #### 调整 IDE 设置 如果使用的是 IntelliJ IDEA 进行开发工作,那么还需要做一些必要的环境设定才能让热部署正常运作。具体来说就是确保编译器选项中的 "Build project automatically" 已被激活,并且开启了 Power Save Mode 关闭状态[^3]。 完成上述步骤之后,每当源代码发生变动Spring Boot DevTools 就会检测到这些变化并立即执行相应动作——无论是重新加载受影响的部分还是完全重启整个应用实例,从而大大提高了迭代速度和调试效率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生重启

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值