首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Google Cloud Function到Cloud SQL (PostgreSQL)的连接错误

Java Google Cloud Function到Cloud SQL (PostgreSQL)的连接错误
EN

Stack Overflow用户
提问于 2021-03-11 01:31:00
回答 1查看 118关注 0票数 0

尝试连接云SQL实例时,出现以下错误:

代码语言:javascript
复制
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:

代码语言:javascript
复制
    <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>
EN

回答 1

Stack Overflow用户

发布于 2021-03-11 11:32:07

很可能,您遇到了菱形依赖冲突。您的两个(或更多)依赖项在不同的版本中拉入相同的依赖项。

我建议使用mvn dependency:tree,看看您是否能找出哪个依赖项是重复的(可能是google-api-client)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66569947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档