com.google.api.client库中的NoSuchMethodError

时间:2018-06-14 10:51:21

标签: java spring google-cloud-platform google-cloud-storage google-api-client

我正在尝试将Google Cloud Storage SDK for Java用于我的Spring应用程序。

使用Maven我已将其添加到我的依赖项中:

<dependency>
   <groupId>com.google.cloud</groupId>
   <artifactId>google-cloud-storage</artifactId>
   <version>1.31.0</version>
</dependency> 

然后我尝试使用以下命令初始化Storage客户端。

 client = StorageOptions.newBuilder()
                    .setCredentials(ServiceAccountCredentials.fromStream(new ClassPathResource("/my/path/to.json").getInputStream()))
                    .build()
                    .getService();

但发生错误

java.lang.NoSuchMethodError: com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient$Builder.setBatchPath

我注意到在我的 google-api-client-1.23.0.jar libray作为依赖项加载时没有出现setBatchPath。

我试图找到在网上浏览但没有财富的问题。 我无法理解我需要安装哪个库(和版本)才能使其正常工作。

提前致谢。

2 个答案:

答案 0 :(得分:1)

最终我解决了,我的Web应用程序和它的Business Layer Jar组件之间存在库重复(我有一个多模块项目)。

我无法理解的是为什么调用以这种方式解决的不存在的方法(AbstractGoogleJsonClient$Builder.setBatchPath)。

google-api-client-1.20.0.jar中,该方法不存在,也不在google-api-client-1.23.0.jar

答案 1 :(得分:0)

尝试阅读this,然后您就可以解决错误。