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

Spring与Guava版本兼容问题:升级后出现NoClassDefFoundError

解决Spring升级后出现的NoClassDefFoundError: com/gemstone/gemfire/internal/cache/BridgeObserverHolder问题

嘿,我来帮你捋捋这个问题!先把你的场景理清楚:

  • 原运行环境:Spring 4.3.10 + Spring Security 4.2.3 + Guava 12.0 + JDK 1.7,状态正常
  • 升级后环境:Spring 4.3.16 + Spring Security 4.2.4,出现java.lang.NoClassDefFoundError: com/gemstone/gemfire/internal/cache/BridgeObserverHolder错误

错误原因分析

这个NoClassDefFoundError本质是类路径中找不到指定的GemFire内部类,核心原因是Spring升级后带来的依赖版本不匹配:

  • Spring 4.3.16相比旧版本,调整了对GemFire(分布式缓存框架)的依赖逻辑——要么是默认引入了更高版本的GemFire依赖,但你的项目里没有对应版本的jar包;要么是项目中已有的GemFire版本过低,缺少这个内部类。

具体解决方案

给你几个可行的排查和解决步骤:

  • 步骤1:补充兼容的GemFire依赖(如果项目需要)
    如果你的项目确实用到GemFire,要确保引入和Spring 4.3.16兼容的版本(Spring 4.3.x一般适配GemFire 8.x或9.x早期版本)。比如在Maven中添加:

    <dependency>
        <groupId>com.gemstone.gemfire</groupId>
        <artifactId>gemfire-core</artifactId>
        <version>8.2.11</version>
        <scope>compile</scope>
    </dependency>
    
  • 步骤2:排除不必要的GemFire依赖(如果项目不需要)
    如果你的项目根本用不上GemFire,大概率是Spring的某个模块(比如Spring Data、Spring Context)默认引入了它。你可以先定位依赖来源,再排除:

    1. 用Maven命令查看依赖树:mvn dependency:tree | grep gemfire
    2. 找到引入GemFire的依赖后,添加排除规则:
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>4.3.16.RELEASE</version>
          <exclusions>
              <exclusion>
                  <groupId>com.gemstone.gemfire</groupId>
                  <artifactId>gemfire-core</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      
  • 步骤3:升级Guava版本规避隐性冲突
    虽然当前错误和Guava无关,但Guava 12.0版本过于老旧,和Spring 4.3.16可能存在隐性兼容问题。建议升级到Guava 18.0或更高的JDK 1.7兼容版本,避免后续出现其他奇怪问题。

  • 步骤4:验证类路径一致性
    检查项目打包后的lib目录,确保GemFire相关jar包版本统一,没有新旧版本共存的情况,否则容易引发类加载冲突。

额外提示

你提到的import javax.annotation.concurrent.Immutable导入语句本身没问题,它是JSR-305的注解,和当前错误无关,不用在意这个点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:26:47