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

已配置Gson依赖仍报com.google.gson.JsonElement类未找到错误如何解决

解决Gson的NoClassDefFoundError问题

问题根源

你的Gson依赖设置了<scope>provided</scope>,这个scope表示仅编译时可用,运行时JVM不会从本地Maven依赖中加载Gson类,而是期望运行环境(比如容器)提供该依赖。但你的运行环境里并没有提供Gson,所以抛出了NoClassDefFoundError。

解决步骤

  • 修改依赖Scope
    直接移除<scope>provided</scope>标签(默认scope是compile,会在编译、测试、运行阶段都可用),修改后的依赖如下:

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>
    
  • 若坚持使用provided scope
    确认你的运行环境(比如Tomcat、容器服务)的classpath中存在Gson的jar包,比如将Gson jar放到Tomcat的lib目录下,但这种方式不如让应用自带依赖灵活。

  • 清理Maven缓存并重构
    执行以下命令清理旧的依赖缓存并重新构建项目,避免缓存问题导致依赖未正确引入:

    mvn clean install
    
  • 排查Spring Boot DevTools影响
    错误栈中出现了RestartClassLoader,说明你用了Spring Boot DevTools。修改依赖后需完全重启应用,DevTools的热重载可能没加载新的依赖配置;如果不需要DevTools,也可以直接移除该依赖试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:02:06