微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

类路径冲突问题com.google.api.client.http.HttpTransport

如何解决类路径冲突问题com.google.api.client.http.HttpTransport

我正在努力让我的 spring 启动应用程序启动,它在启动时出现此错误

***************************
APPLICATION Failed TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
    com.google.api.services.sqladmin.sqlAdmin$Builder.chooseEndpoint(sqlAdmin.java:7296)
The following method did not exist:
    'boolean com.google.api.client.http.HttpTransport.isMtls()'
The method's class,com.google.api.client.http.HttpTransport,is available from the following locations:
    jar:file:/Users/benz/.m2/repository/com/google/http-client/google-http-client/1.35.0/google-http-client-1.35.0.jar!/com/google/api/client/http/HttpTransport.class
The class hierarchy was loaded from the following locations:
    com.google.api.client.http.HttpTransport: file:/Users/benz/.m2/repository/com/google/http-client/google-http-client/1.35.0/google-http-client-1.35.0.jar
Action:
Correct the classpath of your application so that it contains a single,compatible version of com.google.api.client.http.HttpTransport

让我指定这个应用程序有两种配置:

  • 一个用于本地开发,连接到本地 postgresql
  • 一个用于在 Google Cloud (AppEngine) 上运行并使用 Google Cloud sql

大更新后,由于这个问题,云配置文件不再工作。

据我所知,这可能是一个必须通过 maven 解决的依赖问题。

[INFO] +- com.google.firebase:firebase-admin:jar:6.16.0:compile
[INFO] |  +- com.google.api-client:google-api-client:jar:1.30.10:compile
[INFO] |  |  +- com.google.oauth-client:google-oauth-client:jar:1.31.0:compile
[INFO] |  |  \- com.google.http-client:google-http-client-jackson2:jar:1.36.0:compile
[INFO] |  +- com.google.api-client:google-api-client-gson:jar:1.30.10:compile
[INFO] |  |  \- com.google.http-client_:google-http-client-gson:jar:1.36.0:compile
[INFO] |  +- com.google.http-client:google-http-client:jar:1.35.0:compile

据我所知,这是唯一重复的 http 客户端。我已尝试降级 firebase-admin 库,但它的依赖项保持相同的版本号。

可能是我做错了什么。有人知道如何解决这个问题吗? 我已经失去了很多小时......没有运气......

谢谢

解决方法

此方法已包含在 google-http-java-client 中,以及对 add support for mtls 的其他更改。这是相关的 commit

此代码在库的 1.38.0 版本上发布。

该库版本 seems to be compatible 与您的 firebase-admin 版本。

请尝试包含以下内容作为第一级 Maven 依赖项:

<dependency>
    <groupId>com.google.http-client</groupId>
    <artifactId>google-http-client</artifactId>
    <version>1.38.0</version>
</dependency>

也许您也可以使用 more recent versiongoogle-http-client

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。