关于将Grails应用程序部署到GCP,我已经阅读了下面的Grails 3指南。
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支持是最近添加的,我已经做了必要的配置调整来部署我的应用程序,但我无法访问它。
发布于 2019-10-01 20:04:36
使用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"https://stackoverflow.com/questions/58170019
复制相似问题