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

SpringFactoriesLoader无forDefaultResourceLocation方法报错求助

解决Spring Boot启动时SpringFactoriesLoader.forDefaultResourceLocation方法找不到的问题

问题根源

这个报错是Spring版本不兼容导致的:SpringFactoriesLoader.forDefaultResourceLocation是Spring Framework 6.x(对应Spring Boot 3.x及以上版本)新增的方法,如果你的项目中混合了低版本的Spring Core依赖,或者Spring Boot与Spring Framework版本不匹配,就会出现方法找不到的错误。

具体解决步骤

  • 确认Spring Boot版本与JDK版本匹配
    Spring Boot 3.x要求使用JDK 17及以上,同时依赖Spring Framework 6.x。检查你的项目配置:

    • Maven项目(pom.xml):确保spring-boot-starter-parent是3.x版本
      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>3.2.0</version> <!-- 示例3.x版本,可根据实际选择最新稳定版 -->
          <relativePath/>
      </parent>
      
    • Gradle项目(build.gradle):确保Spring Boot插件是3.x版本
      plugins {
          id 'org.springframework.boot' version '3.2.0'
          id 'io.spring.dependency-management' version '1.1.4'
          id 'java'
      }
      

    同时检查项目SDK:打开File -> Project Structure,设置Project SDK为JDK 17+,Project language level为17。

  • 排查并修复依赖冲突
    项目中可能引入了低版本的spring-core依赖,导致版本冲突:

    • Maven执行命令查看依赖树:
      mvn dependency:tree
      
      搜索spring-core,如果有低于6.x的版本,找到对应的依赖,在pom.xml中排除该低版本依赖:
      <dependency>
          <groupId>冲突依赖的groupId</groupId>
          <artifactId>冲突依赖的artifactId</artifactId>
          <exclusions>
              <exclusion>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring-core</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      
    • Gradle执行命令查看依赖树:
      ./gradlew dependencies
      
      找到低版本spring-core的来源,在build.gradle中排除:
      dependencies {
          implementation('冲突依赖的groupId:冲突依赖的artifactId') {
              exclude group: 'org.springframework', module: 'spring-core'
          }
      }
      
  • 清理缓存并重新构建
    在IntelliJ IDEA中点击File -> Invalidate Caches...,选择Invalidate and Restart清理缓存,之后执行Maven的clean+install或Gradle的clean+build命令重新构建项目。

内容的提问来源于stack exchange,提问作者Анастасия

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:52:51