尝试连接云SQL实例时,出现以下错误:
I euw3-gsc-event-processor keimftf9xzqf 2021-03-10 16:48:36.846 Connecting to Cloud SQL instance [gsc-shared-dev:europe-west3:euw3-db-gsc-shared-dev-1-gcp] via SSL socket.
I euw3-gsc-event-processor keimftf9xzqf 2021-03-10 16:48:36.847 First Cloud SQL connection, generating RSA key pair.
WARNING euw3-gsc-event-processor keimftf9xzqf 2021-03-10 16:48:36.848 Failed to execute org.springframework.cloud.function.adapter.gcp.GcfJarLauncher
java.lang.NoSuchMethodError: 'boolean com.google.api.client.http.HttpTransport.isMtls()'
at com.google.api.services.sqladmin.SQLAdmin$Builder.chooseEndpoint(SQLAdmin.java:7296)
at com.google.api.services.sqladmin.SQLAdmin$Builder.<init>(SQLAdmin.java:7329)
at com.google.cloud.sql.core.CoreSocketFactory.createAdminApiClient(CoreSocketFactory.java:322)
at com.google.cloud.sql.core.CoreSocketFactory.getInstance(CoreSocketFactory.java:130)
at com.google.cloud.sql.core.CoreSocketFactory.connect(CoreSocketFactory.java:229)
at com.google.cloud.sql.postgres.SocketFactory.createSocket(SocketFactory.java:76)
at org.postgresql.core.PGStream.createSocket(PGStream.java:223)这个库不是直接在云函数jar中。我的pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>${google.cloud.libraries.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-web</artifactId>
<version>${spring.cloud.function}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-adapter-gcp</artifactId>
<version>${spring.cloud.function}</version>
</dependency>
<!-- <dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
</dependency> -->
<dependency>
<!-- Required for Function primitives -->
<groupId>com.google.cloud.functions</groupId>
<artifactId>functions-framework-api</artifactId>
<version>${google.cloud.functions.api.version}</version>
<scope>provided</scope>
</dependency>
<!-- <dependency> <groupId>com.google.cloud.functions.invoker</groupId>
<artifactId>java-function-invoker</artifactId> <version>${google.cloud.functions.invoker.version}</version>
<scope>test</scope> </dependency> -->
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<!-- Excluded JUnit 4 -->
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.19</version>
</dependency>
<dependency>
<groupId>com.google.cloud.sql</groupId>
<artifactId>postgres-socket-factory</artifactId>
<version>1.2.1</version>
</dependency>
<!-- Tools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>发布于 2021-03-11 11:32:07
很可能,您遇到了菱形依赖冲突。您的两个(或更多)依赖项在不同的版本中拉入相同的依赖项。
我建议使用mvn dependency:tree,看看您是否能找出哪个依赖项是重复的(可能是google-api-client)。
https://stackoverflow.com/questions/66569947
复制相似问题