java - NoSuchMethodError:Google 云存储中的 optionsBuilder.build().getService()
问题描述
我正在尝试连接到谷歌存储桶以上传文件。
StorageOptions.Builder optionsBuilder = StorageOptions.newBuilder();
optionsBuilder.setCredentials(GoogleCredentials.getApplicationDefault());
Storage storage = optionsBuilder.build().getService();
我在环境变量中提供了服务帐户,当我查看 optionsBuilder.build() 时,凭据已正确添加,包括 projectId、凭据等,但service
属性显示为 null。
它给出错误optionsBuilder.build().getService()
并返回
com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient$Builder.setBatchPath(Ljava/lang/String;)Lcom/google/api/client/googleapis/services/AbstractGoogleClient$Builder;
以下是与 google cloud 相关的 maven 依赖项
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-datastore</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
</dependency>
让我知道是否有任何解决方法
解决方案
推荐阅读
- ios - 升级到 Xcode 12.5 后在构建时收到关于注册通知 (Swift) 的错误
- excel - 权限被拒绝错误在 Mac 上将 Excel 图表保存为 .png
- c - 附加字符串的 C 宏
- php - php file_get_contents 命令不起作用
- io - 为什么我们使用 tf.data.experimental.AUTOTUNE 和 tf.io.gfile.glob()?
- django-rest-framework - save() 得到了一个意外的关键字参数“所有者”
- node.js - NodeJS:不能在模块外使用导入语句(已经尝试过类型:“模块”)
- sql - SQL(ite3) 中的固定数据类型
- php - Laravel 使用 ajax 更改视图变量
- javascript - 按数据属性顺序循环元素