如果我使用單個 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")那么我會得到下面的異常。我努力了:使用不同的 Java 版本 11 和 12不同的 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")使用spring.cloud.gcp.credentials.location代替spring.cloud.gcp.credentials.encoded-key使用管理員服務帳戶確保這不是 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
1 回答

FFIVE
TA貢獻1797條經驗 獲得超6個贊
由于從 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")
添加回答
舉報
0/150
提交
取消