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

Spring Boot从3.1.6升级到3.2.2遇NoClassDefFoundError问题求助

Spring Boot 3.2.2升级后Hibernate 6.4.1导致ByteBuddy类找不到的问题解决
  • 我之前遇到过一模一样的情况,本质是Hibernate 6.4.x系列对ByteBuddy的依赖版本要求和Spring Boot 3.2.x默认提供的版本存在兼容性冲突,或者项目中其他依赖引入了低版本的ByteBuddy,导致Hibernate需要的ElementMatcher类找不到。

  • 不用降级Hibernate也能解决,给你几个可行方案:

    1. 直接在POM中指定兼容的ByteBuddy版本,和Spring Boot 3.2.2适配的ByteBuddy版本是1.14.11,添加如下依赖:
      <dependency>
          <groupId>net.bytebuddy</groupId>
          <artifactId>byte-buddy</artifactId>
          <version>1.14.11</version>
      </dependency>
      
    2. 检查项目依赖树,找出引入旧版ByteBuddy的依赖并排除。用Maven命令mvn dependency:tree输出依赖关系,搜索byte-buddy,找到版本低于1.14.x的依赖,在对应的<dependency>块里添加排除:
      <exclusions>
          <exclusion>
              <groupId>net.bytebuddy</groupId>
              <artifactId>byte-buddy</artifactId>
          </exclusion>
      </exclusions>
      
    3. 对比那个升级正常的服务的依赖树,看它的ByteBuddy来源和版本,照着调整当前项目的依赖即可。
  • 至于另一个架构相似的服务没问题,大概率是它的依赖中没有引入冲突的ByteBuddy版本——比如某个依赖没有传递引入旧版ByteBuddy,或者它的依赖组合刚好让ByteBuddy的版本被Spring Boot的默认版本覆盖了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:50:59