You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ中Spring Boot DevTools初始化报错求助

问题原因与解决方案

核心原因

IntelliJ IDEA 2019.2.4版本过于老旧,对Java 17及Spring Boot 3.x的spring-boot-devtools重启机制兼容性不足,导致启动时触发ArrayIndexOutOfBoundsException。Spring Boot 3.x系列要求最低Java 17,而2019年的IDEA版本并未针对Java 17做适配,和DevTools的类加载重启逻辑冲突。

解决方案

  • 升级IntelliJ IDEA:将IDEA版本升级至2021.3及以上(该版本开始全面支持Java 17),推荐使用最新稳定版,从根本上解决兼容性问题。
  • 临时规避(不升级IDEA):
    • 保留spring-boot-devtools依赖,仅通过调试模式启动项目(你已验证此方式可行)
    • 移除spring-boot-devtools依赖,手动重启项目替代热部署功能
  • 配置检查:确保IDEA中项目的SDK已设置为Java 17,同时模块和项目的语言级别也调整为17(通过File > Project Structure路径配置)

错误信息与配置参考

启动时触发的错误栈:

Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
    at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:103)
    ... 5 more

使用的POM配置片段:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.3</version>
    <relativePath/>
</parent>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

内容的提问来源于stack exchange,提问作者Victor Soares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:52:40