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

启动ChromeDriver遇java.lang.NoSuchMethodError问题求助

解决ChromeDriver启动时的Gson方法缺失错误

看起来你遇到的是典型的依赖版本冲突问题,具体是Gson库和Selenium的版本不兼容导致的。我来帮你拆解一下:

问题根源

你看到的java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient(),本质是Selenium的Json模块需要调用Gson的setLenient()方法,但你的项目里实际引入的Gson版本太旧——这个方法是在Gson 2.3版本才新增的,低版本Gson根本没有这个方法。

虽然你说依赖和另一个正常项目一致,但大概率是本地缓存或者依赖解析的细节差异导致的。

具体解决步骤

  • 第一步:检查并升级Gson版本
    先打开你的依赖配置文件(Maven的pom.xml或者Gradle的build.gradle),如果直接引入了Gson,确保版本在2.3及以上。建议选择和你的Selenium版本匹配的Gson版本(比如Selenium 3.x系列通常依赖Gson 2.8.x版本)。

  • 第二步:排查隐藏的依赖冲突
    如果你没有直接引入Gson,那肯定是其他依赖偷偷带入了低版本的Gson。可以用命令排查:

    • Maven用户:执行mvn dependency:tree,搜索com.google.gson:gson,看看哪些依赖引入了低版本Gson。
    • Gradle用户:执行./gradlew dependencies,同样搜索Gson相关条目。
  • 第三步:强制锁定Gson版本
    找到冲突后,在依赖管理里强制指定正确的Gson版本,避免被其他依赖覆盖:

    • Maven:在<dependencyManagement>节点中添加:
      <dependency>
          <groupId>com.google.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.8.9</version> <!-- 替换为合适的版本 -->
      </dependency>
      
    • Gradle:在build.gradle中添加:
      configurations.all {
          resolutionStrategy.force 'com.google.gson:gson:2.8.9'
      }
      
  • 第四步:清理缓存并重新构建
    有时候本地依赖缓存会残留旧版本,执行清理命令:

    • Maven:mvn clean install
    • Gradle:./gradlew clean build
      如果是IDE的问题,比如IntelliJ,可以试试File -> Invalidate Caches / Restart来同步依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:56:36