【问题标题】:Spring boot with Google Cloud SQL使用 Google Cloud SQL 进行春季启动
【发布时间】:2017-10-09 10:00:39
【问题描述】:

我正在尝试将我的 Spring Boot 应用程序部署到 Google App Engine Flex Env​​ironment 和 G Cloud MySQL DB。

我在连接数据库时遇到问题。

已经尝试了一些变种,但都没有成功。 spring-boot-with-google-cloud-datastore-api-fails-to-run

我的属性:

spring:
profiles: googlecloud
  jpa:
    database: MYSQL
    show-sql: false
    hibernate:
      ddl-auto: update
  datasource:
    url: jdbc:mysql://google/myproject?cloudSqlInstance=XXXX&user=xxx&password=xxx

我的 pom.xml(仅限 db 依赖项):

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.6</version>
    </dependency>
    <dependency>
        <groupId>com.google.cloud.sql</groupId>
        <artifactId>mysql-socket-factory</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>

有了这个配置,我得到:

加载类com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver'。驱动通过SPI自动注册,一般不需要手动加载驱动类。

原因:java.lang.ClassNotFoundException: com.mysql.jdbc.SocketFactory

...创建存储库 bean 时出错...

java.lang.NoClassDefFoundError: com/mysql/jdbc/SocketFactory

【问题讨论】:

  • 我也有同样的问题,请问您解决了吗?
  • @HAIFENGZHANG 我让它工作了,但是它在 gcloud 上太不稳定了,所以我们决定迁移到 aws :) 祝你好运!

标签: java mysql spring google-app-engine jdbc


【解决方案1】:

您可以阅读有关从 5x 到 6x 连接器更改的更多详细信息: https://dev.mysql.com/doc/connector-j/6.0/en/connector-j-api-changes.html

对于 NCDF 异常,根据这个问题: https://github.com/GoogleCloudPlatform/cloud-sql-mysql-socket-factory/issues/18

我认为你必须改变你的依赖:

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.6</version>
    </dependency>

    <dependency>
        <groupId>com.google.cloud.sql</groupId>
        <artifactId>mysql-socket-factory-connector-j-6</artifactId>
        <version>1.0.2</version>
    </dependency>

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2017-06-18
    • 2017-12-04
    相关资源
    最近更新 更多