【发布时间】:2017-10-09 10:00:39
【问题描述】:
我正在尝试将我的 Spring Boot 应用程序部署到 Google App Engine Flex Environment 和 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