mysql - 我可以将 Grails 4 应用程序部署到 Google Cloud Platform 吗?

标签 mysql grails google-cloud-platform

我已经能够运行以下 Grails 3 指南,将 Grails 应用程序部署到 GCP。

https://guides.grails.org/grails-google-cloud/guide/index.html

我尝试使用我自己的 Grails 4 应用程序来镜像它,但当我尝试访问它时它失败了。 appengineDeploy 成功完成,但当我尝试访问 webapp URL 时,我得到一个很长的堆栈跟踪,最终出现以下错误;

Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/mysql/cj/api/io/SocketFactory
...
...
Caused by: java.lang.ClassNotFoundException: com.mysql.cj.api.io.SocketFactory

我一直在尝试各种版本的套接字工厂依赖项来尝试解决和重新部署,但都会导致相同的错误。 我使用过各种版本的 j-6 连接器 (com.google.cloud.sql:mysql-socket-factory-connector-j-6),我最近的尝试使用了 j-8 (1.0.14)。

此时,如果能知道我正在尝试的事情是否可行就太好了。最近添加了 Java 11 支持,我已经进行了必要的配置调整以部署我的应用程序,但我无法访问它。

最佳答案

与 mysql-socket-factor-connector-j-8 一起升级到 mysql-connector-java 版本 8 似乎已经解决了这个特定问题(并将我转移到下一个)。

依赖关系如下;

runtime "mysql:mysql-connector-java:8.0.15"
runtime "com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.0.14"

关于mysql - 我可以将 Grails 4 应用程序部署到 Google Cloud Platform 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58170019/

相关文章:

google-app-engine - GAE 推送队列任务不在测试中运行,生成孤立的 dev_appserver 进程

mysql - phpmyadmin 中无法识别的关键字

php - 在服务器端问题上运行 php

grails - 通过Grails中的if-operator查看gsp代码中的隐藏字段

java - 如何在Java中使用Gradle使用Google Cloud API

google-cloud-platform - 如何在 Google Cloud SDK (gcloud) 中禁用使用情况报告?

php - 我应该从哪里开始正确理解 ORM 的概念

php - MySql:按 ASC 排序,底部为空

jquery - AngularJS $http ajax 不遵循 Location header

grails - 在Grails Controller 中获取应用程序路径