类路径冲突问题(com.google.api.client.http.HttpTransport)
Classpath conflict problem (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 云(AppEngine)上并使用 Google 云 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. This is the relevant 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>
也许您也可以使用 google-http-client
的 more recent version。
我正在努力让我的 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 云(AppEngine)上并使用 Google 云 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. This is the relevant 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>
也许您也可以使用 google-http-client
的 more recent version。