需使用google-api-client 1.22.0,求兼容的BigQuery版本
解决方案:兼容google-api-client 1.22.0的BigQuery版本
你遇到的错误源于google-cloud-bigquery版本与强制使用的google-api-client:1.22.0不兼容——新版本BigQuery依赖的google-api-client中,setBatchPath方法的返回类型已从AbstractGoogleJsonClient.Builder改为AbstractGoogleClient.Builder,导致方法签名不匹配。
以下是两种可行的解决方式:
方式1:直接指定兼容的BigQuery版本
选择依赖google-api-client:1.22.0的google-cloud-bigquery版本,1.52.0是经过验证的兼容版本,配置如下:
<dependencyManagement> <dependencies> <!-- 强制锁定google-api-client版本 --> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.22.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigquery</artifactId> <version>1.52.0</version> </dependency> </dependencies>
方式2:使用兼容的Google Cloud Libraries BOM
若偏好通过BOM管理依赖,可选用libraries-bom:1.3.0,该BOM内置的google-api-client版本即为1.22.0,对应的BigQuery版本也完全兼容:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>1.3.0</version> <type>pom</type> <scope>import</scope> </dependency> <!-- 双重确保google-api-client版本不被覆盖 --> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.22.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigquery</artifactId> </dependency> </dependencies>
两种配置均可保证依赖版本兼容,解决方法签名不匹配的报错。
内容的提问来源于stack exchange,提问作者desdemona
相关产品推荐
相关产品推荐

