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

升级Spring Boot 3.2.3时出现simpleAsyncTaskSchedulerBuilder Bean创建错误

Spring Boot 3.2.3升级后出现SimpleAsyncTaskScheduler类找不到的异常

问题现象

将Spring Boot从3.0.6(Java 17)升级至3.2.3(Java 17)后,启动应用抛出ClassNotFoundException: org.springframework.scheduling.concurrent.SimpleAsyncTaskScheduler,但使用3.2.3创建的新项目可正常运行。

核心原因

Spring Boot 3.2.x对应的Spring Framework版本是6.1.x,而SimpleAsyncTaskScheduler是Spring Framework 6.1新增的类,位于spring-core模块中。你的项目依赖树中存在旧版本的Spring Framework模块(如6.0.x的spring-core、spring-context),导致Spring Boot 3.2.3的自动配置类SimpleAsyncTaskSchedulerBuilder无法找到对应的依赖类。

从错误栈可以看到,当前项目使用的spring-core版本是6.0.11,而Spring Boot 3.2.3要求的是6.1.4,版本不匹配是根本问题。

解决方案

1. 统一Spring Framework版本依赖

确保项目通过Spring Boot的依赖管理来控制所有Spring模块的版本,避免版本不一致:

  • Maven项目:确认pom.xml中正确引入Spring Boot Parent:
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.3</version>
        <relativePath/>
    </parent>
    
  • Gradle项目:确保使用Spring Boot插件并引入依赖管理:
    plugins {
        id 'org.springframework.boot' version '3.2.3'
        id 'io.spring.dependency-management' version '1.1.4'
    }
    

2. 排查并排除冲突依赖

通过依赖树命令找出引入旧版本Spring模块的第三方依赖,然后排除这些冲突:

  • Maven执行:
    mvn dependency:tree
    
  • Gradle执行:
    ./gradlew dependencies
    

查找所有版本低于6.1.x的spring-core、spring-context、spring-scheduling模块,在对应的第三方依赖中添加排除规则。例如Maven中:

<dependency>
    <groupId>第三方依赖组ID</groupId>
    <artifactId>第三方依赖 artifactId</artifactId>
    <version>版本号</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3. 清理缓存并重新构建

清理本地仓库的旧依赖缓存,确保拉取正确版本的依赖:

  • Maven:
    mvn clean install -U
    
  • Gradle:
    ./gradlew clean build --refresh-dependencies
    

4. 检查自定义Task配置

如果项目中有自定义的TaskScheduler相关配置,确认是否直接引用了SimpleAsyncTaskScheduler。若有,确保使用的是Spring Framework 6.1.x中的类,避免因包路径或类结构变化导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:06:03