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

使用Spring JDBC Template编写DAO时触发java.lang.NoClassDefFoundError异常求助

解决Spring JDBC Template抛出的java.lang.NoClassDefFoundError: org/springframework/core/JdkVersion异常

这个问题我之前帮好几个开发者排查过,核心原因就是Spring依赖版本不兼容导致的——org.springframework.core.JdkVersion这个类在Spring 3.2版本之后就被移除了,如果你的项目里同时存在新旧版本的Spring核心包和JDBC包,就会触发这个找不到类的异常。

下面是具体的解决步骤:

  • 统一所有Spring依赖的版本
    确保项目中所有Spring相关的依赖(比如spring-core、spring-jdbc、spring-context等)使用完全相同的版本号。比如用Maven的话,你可以在<properties>里统一声明版本,再在依赖中引用:

    <properties>
        <spring.version>5.3.20</spring.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>
    
  • 排除冲突的间接依赖
    如果你的项目引入了第三方库,它可能间接依赖了旧版本的Spring包。这时候需要手动排除这些冲突的依赖。比如某个第三方库依赖了旧版spring-core,你可以在Maven依赖中添加排除规则:

    <dependency>
        <groupId>第三方库groupId</groupId>
        <artifactId>第三方库artifactId</artifactId>
        <version>第三方库版本</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 清理本地依赖缓存
    有时候本地Maven/Gradle仓库里的依赖文件可能损坏,导致版本识别错误。你可以清理缓存后重新下载依赖:

    • Maven:执行mvn clean install -U命令
    • Gradle:执行gradle clean build --refresh-dependencies命令

简单总结一下:这个异常本质是新旧Spring API的兼容性问题,只要保证所有Spring组件版本一致,就能解决90%以上的这类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:41:12