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

Dataproc Java客户端调用setUseJwtAccessWithScope方法时抛出NoSuchMethodError问题排查求助

解决Dataproc API提交任务时的NoSuchMethodError问题

这个错误的核心原因是依赖版本冲突,具体来说是Google的gax-core库版本不兼容导致的。下面来一步步分析和解决:

为什么会出现这个错误?

你遇到的java.lang.NoSuchMethodError提示找不到setUseJwtAccessWithScope方法,是因为这个方法是在较新版本的gax-core中才添加的,而你的项目里实际引入的是老版本的gax-core。

问题出在你依赖管理里的两个BOM:

  • com.google.cloud:libraries-bom:24.1.2 对应了较新的GCP SDK组件版本(包括gax-core的新版本)
  • org.springframework.cloud:spring-cloud-gcp-dependencies:1.2.8.RELEASE 是一个比较老旧的版本,它依赖的gax-core版本远低于前者,并且会覆盖libraries-bom中的版本,导致项目最终使用了不兼容的老版本gax-core。

解决方案

这里有几个可行的解决办法,按优先级推荐:

方案1:升级Spring Cloud GCP依赖到兼容版本

最彻底的方式是升级spring-cloud-gcp-dependencies到和libraries-bom:24.1.2兼容的版本。Spring Cloud GCP 3.x系列和这个GCP BOM版本匹配度较高,比如可以用3.4.1版本:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>24.1.2</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-gcp-dependencies</artifactId>
      <version>3.4.1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

升级后,两个BOM的依赖版本会自然对齐,冲突问题就解决了。

方案2:强制指定gax-core和gax-grpc版本(如果无法升级Spring Cloud GCP)

如果因为项目限制不能升级Spring Cloud GCP,可以在dependencyManagement中明确指定gax-core和gax-grpc的版本,强制使用和libraries-bom匹配的版本:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>24.1.2</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-gcp-dependencies</artifactId>
      <version>1.2.8.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <!-- 强制使用与libraries-bom匹配的gax版本 -->
    <dependency>
      <groupId>com.google.api.gax</groupId>
      <artifactId>gax-core</artifactId>
      <version>2.24.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.api.gax</groupId>
      <artifactId>gax-grpc</artifactId>
      <version>2.24.1</version>
    </dependency>
  </dependencies>
</dependencyManagement>

注:版本号2.24.1是libraries-bom:24.1.2对应的gax-core版本,你可以通过mvn dependency:tree | grep gax命令确认具体版本。

验证是否解决

修改依赖后,执行以下步骤确认:

  1. 清理本地依赖:mvn clean install -U
  2. 再次运行你的Dataproc任务代码,检查错误是否消失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 09:08:15