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

spring-boot-starter-web 3.0.1依赖spring-core 5.3.23引发方法找不到问题求助

解决Spring Boot 3.0.1的NoSuchMethodError依赖冲突问题

错误信息

Exception in thread "main" java.lang.NoSuchMethodError: 'org.springframework.core.io.support.SpringFactoriesLoader org.springframework.core.io.support.SpringFactoriesLoader.forDefaultResourceLocation(java.lang.ClassLoader)'

问题分析

spring-boot-starter-web:3.0.1 要求依赖的spring-core版本为6.0.1及以上,但当前依赖层级中出现了低版本的spring-core:5.3.23,而forDefaultResourceLocation方法是Spring 6.x新增的,同时你使用的JDK17也仅支持Spring 6.x及以上版本,这就导致了方法找不到的错误。

解决步骤

  • 定位冲突依赖来源
    使用构建工具命令找出是哪个依赖引入了spring-core:5.3.23:

    • Maven:
      mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring-core
      
    • Gradle:
      gradle dependencies --configuration compileClasspath | grep spring-core
      
  • 排除旧版依赖
    在引入冲突依赖的节点中,手动排除低版本的spring-core:
    Maven示例:

    <dependency>
        <!-- 替换为实际引入旧版spring-core的依赖坐标 -->
        <groupId>com.example</groupId>
        <artifactId>conflicting-dependency</artifactId>
        <version>x.x.x</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    

    Gradle示例:

    implementation('com.example:conflicting-dependency:x.x.x') {
        exclude group: 'org.springframework', module: 'spring-core'
    }
    
  • 强制锁定spring-core版本
    如果排查排除过程繁琐,可以直接在依赖管理中强制指定spring-core为6.0.1及以上版本:
    Maven示例(添加到dependencyManagement节点):

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>6.0.1</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    

    Gradle示例:

    configurations.all {
        resolutionStrategy.force 'org.springframework:spring-core:6.0.1'
    }
    
  • 统一Spring版本
    检查项目中所有Spring相关依赖,确保没有混合使用Spring 5.x和6.x的组件,所有依赖版本需与Spring Boot 3.0.1的版本兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:25:29