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

安装Spring CLI后运行示例报错:无法实例化ApplicationContextInitializer

解决Spring Boot CLI运行spring run app.groovy报错的问题

从你贴出的错误日志来看,核心问题是你使用的Spring Boot CLI版本(1.5.9.RELEASE)和当前Java版本不兼容,具体原因拆解如下:

  • Spring Boot 1.5.x属于老旧版本,官方仅支持Java 6到Java 8,完全不兼容Java 9及以上版本(日志里的java.base模块标识说明你用的是Java 9+)
  • Java 9开始引入模块化系统,java.sql包被独立成模块,老版本Spring Boot CLI无法正确加载该模块,直接导致ClassNotFoundException: java.sql.SQLException
  • 配套的Groovy 2.4.13在Java 9+环境下会触发非法反射访问警告,这也是日志开头警告信息的来源

下面给你两个可行的解决方案:

方案一:降级Java版本到Java 8

  1. 安装Java 8开发环境(JDK 8)
  2. 切换当前终端或系统的默认Java版本到Java 8:
    • Linux/macOS可以用update-alternatives命令切换,示例:
      sudo update-alternatives --config java
      
      之后选择对应Java 8的选项即可
    • Windows可以通过修改环境变量JAVA_HOME和Path,指向Java 8的安装目录
  3. 重新运行spring run app.groovy,就能正常执行了

方案二:升级Spring Boot CLI到最新稳定版本

Spring Boot 2.x及以上版本已经完美适配Java 8及更高版本,同时修复了模块化和反射相关问题:

  1. 卸载当前的Spring Boot 1.5.9 CLI
  2. 安装最新稳定版Spring Boot CLI(注意:3.x版本需要Java 17+,2.7.x版本支持Java 8-19,可根据你的Java版本选择)
  3. 重新获取官方示例的app.groovy(如果需要),再执行spring run app.groovy即可

另外建议你后续使用Spring Boot CLI时,尽量保持CLI版本和官方文档版本一致,避免再出现版本兼容类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:41:50