Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine java.lang.IllegalStateException:无法加载JDBC驱动程序类[com.mysql.JDBC.GoogleDriver]_Google App Engine_Google Cloud Sql_Google Flexible - Fatal编程技术网

Google app engine java.lang.IllegalStateException:无法加载JDBC驱动程序类[com.mysql.JDBC.GoogleDriver]

Google app engine java.lang.IllegalStateException:无法加载JDBC驱动程序类[com.mysql.JDBC.GoogleDriver],google-app-engine,google-cloud-sql,google-flexible,Google App Engine,Google Cloud Sql,Google Flexible,我正在尝试将我的数据库从谷歌灵活环境连接到谷歌云SQL。连接字符串和驱动程序类如下所示: 然而,我目前正在 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/classes/context/applicationContext-jooq.xml]

我正在尝试将我的数据库从谷歌灵活环境连接到谷歌云SQL。连接字符串和驱动程序类如下所示:


然而,我目前正在

org.springframework.beans.factory.BeanCreationException: 
    Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/classes/context/applicationContext-jooq.xml]: 
            Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; 
            nested PropertyAccessExceptions (1) are:|PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; 
            nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.GoogleDriver]
我正在尝试连接的数据库是一个第二代云SQL MySQL数据库

为什么我会得到这个例外

应用程序引擎具有此
属性。我还没有在灵活的环境中看到这个属性——至少在我目前阅读的那些页面上没有看到。在我的app.yaml文件中是否有我必须添加的内容


不确定是否必须在灵活的环境中执行此操作,但我目前正在尝试将yaml文件中的
use-google-connector-j
属性设置为true:

use-google-connector-j: true

但目前看来这似乎不起作用:

com.mysql.jdbc.GoogleDriver
是为应用程序引擎标准环境应用程序设计的

对于在App Engine灵活环境应用程序上运行的Java应用程序,请使用库

对于基于Maven的应用程序,请在库上添加依赖项:


com.google.cloud.sql
mysql插座工厂
1.0.1
切换到标准/official
com.mysql.jdbc.Driver
。连接字符串从

jdbc:google:mysql://instance_name/db_name

jdbc:mysql://google/db_name?cloudSqlInstance=&socketFactory=com.google.cloud.sql.mysql.SocketFactory
的值可以在Google云控制台的“云SQL实例概述”页面上找到

注意:如果要在XML文件中指定连接字符串,可能需要将特殊字符转义,如
&
转义为
&


注意:此方法不适用于mysql驱动程序(6及以上版本)的开发行。我不得不使用production 5.1.39版本。

但是您将这两个标签都添加到了您的应用程序中question@Jens这是因为我使用的是Google Flexible Environment,它实际上是Google App Engine和Google Compute Engine的混合体,或者类似的东西,它们都是谷歌云平台。这是否意味着
jdbc:Google:mysql://mz-test:us-central1:mz life cloudsql prod/mz_db
现在更改为
jdbc:mysql://google/mz_db?cloudSqlInstance=jdbc:google:mysql&socketFactory=com.google.cloud.sql.mysql.SocketFactory
我只需要添加此依赖项?哦。。否它必须是
jdbc:mysql://google/mz_db?cloudSqlInstance=mz-test:us-central1:mz-life-cloudsql-prod&socketFactory=com.google.cloud.sql.mysql.socketFactory
但我在想另一件事:我现在使用的是什么jdbc驱动程序?我是否仍然使用
com.mysql.jdbc.GoogleDriver
?(只是问一下,因为部署几乎要花很长时间^^^)你把这个放在哪里?这听起来像是来自XML解析器的错误。对于Flex虚拟机,您将使用标准/官方的MySQL驱动程序com.MySQL.jdbc.DriverI,因为您已经将
&
替换为
&
并添加了一个
但现在我得到。。
jdbc:mysql://google/db_name?cloudSqlInstance=<instance_connection_name>&socketFactory=com.google.cloud.sql.mysql.SocketFactory