单个项目中的多个 Spring Cloud GCP 库会导致

如果我使用单个 Spring Cloud GCP 库(例如)implementation("org.springframework.cloud:spring-cloud-gcp-starter-sql-postgresql:1.1.1.RELEASE")和属性:spring.cloud.gcp.credentials.encoded-key=用于凭据...一切正常。

但如果我还想说通过以下方式将 pub/sub 添加到我的项目中:implementation("org.springframework.cloud:spring-cloud-gcp-starter-pubsub:1.1.3.RELEASE")那么我会得到下面的异常。

我努力了:

  1. 使用不同的 Java 版本 11 和 12

  2. 不同的 Spring Cloud GCP 库作为“第二”库 implementation("org.springframework.cloud:spring-cloud-gcp-starter:1.1.3.RELEASE")implementation("org.springframework.cloud:spring-cloud-gcp-starter-logging:1.1.3.RELEASE")

  3. 使用spring.cloud.gcp.credentials.location代替spring.cloud.gcp.credentials.encoded-key

  4. 使用管理员服务帐户确保这不是 IAM 角色问题。

implementation("org.springframework.cloud:spring-cloud-gcp-starter:1.1.3.RELEASE")implementation("org.springframework.cloud:spring-cloud-gcp-starter-logging:1.1.3.RELEASE")

一旦我包含多个 Spring Cloud GCP 库,SocketFactory就会不可避免地出现相同的错误。从文档来看,它应该可以正常工作。第二个库应该使用相同的凭据。

如果我恢复到单个库,那么它就可以正常工作。


我还在这里创建了一个 Github 问题:https ://github.com/spring-cloud/spring-cloud-gcp/issues/1948


蝴蝶刀刀
浏览 84回答 1
1回答

FFIVE

由于从 Maven Central 复制粘贴导入而不检查版本,因此使用了不同版本的库。使用的版本包括1.1.1.RELEASE和1.1.3.RELEASE. 一次只能使用这些版本号中的一个。重构代码以消除出现此错误的可能性:implementation("org.springframework.cloud:spring-cloud-gcp-starter-sql-postgresql:$springCloudGCPVersion")implementation("org.springframework.cloud:spring-cloud-gcp-starter-pubsub:$springCloudGCPVersion")implementation("org.springframework.cloud:spring-cloud-gcp-dependencies:$springCloudGCPVersion")implementation("org.springframework.cloud:spring-cloud-gcp-starter:$springCloudGCPVersion")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java