【问题标题】:Error Configuring "use google cloud sql instance"配置“使用谷歌云 sql 实例”时出错
【发布时间】:2017-01-30 07:39:25
【问题描述】:

您好,我无法通过 eclipse(Neon) 连接到我的谷歌云 sql 实例 我尝试了 app engine sdk plugin 1.9.34 和 1.9.42 (google plugin 4.6)

Could not connect to Profile (projectID.GoogleCloudSQL.DevInstance).
Error creating SQL Model Connection connection to Profile(projectID.GoogleCloudSQL.DevInstance). (Error: com.mysql.jdbc.Driver)
 com.mysql.jdbc.Driver
 Error creating Google Cloud SQL Connection factory connection to Profile (ProjectId.GoogleCloudSQL.DevInstance). (Error: com.mysql.jdbc.Driver)
 com.mysql.jdbc.Driver

Ping 失败!

 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:327)
at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:96)
at com.google.appengine.eclipse.datatools.connection.GoogleSqlConnectionFactory.createConnection(GoogleSqlConnectionFactory.java:36)
at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

【问题讨论】:

  • 该错误表示 Eclipse 找不到包含 MySQL 的 JDBC Driver 的 JAR。我不是 Eclipse 用户,所以我无法确切告诉您如何“安装”MySQL 驱动程序,但它需要位于类路径上才能让 Eclipse 找到它。
  • 是的,我已经在类路径中包含了 mysql-connector-java-5.1.39-bin
  • 你按照as per these instructions的步骤操作了吗?
  • 是的,我认为这是与错误相关的问题
  • 这在命令行中有效吗?如果不是,则不太可能是 Eclipse 或 Google Plugin for Eclipse 的问题。如果它确实在命令行上工作,我会检查那里的类路径与 Eclipse 的不同。但我同意其他海报,这个堆栈跟踪强烈表明相关类不在您的类路径中。要尝试的一件事是直接在您的代码中实例化它,以确保它存在。

标签: java eclipse google-app-engine google-cloud-sql google-plugin-eclipse


【解决方案1】:

由于这个问题从未得到答案,所以我会在这里发布一个。

直接在您的代码中实例化意味着这样做:

Class.forName("com.mysql.jdbc.Driver");

这将尝试手动加载类并运行其静态初始化程序。消息"java.lang.ClassNotFoundException: com.mysql.jdbc.Driver" 表示该类不在您的类路径中,因此如果您收到相同的错误,则表示您缺少 JAR 或者它不在应有的位置。

由于您提到使用 Eclipse 的 Google 插件,我假设您正在使用 App Engine 项目。对于这种类型的项目,您的 JAR 必须位于 WEB-INF/lib 目录中,因此请确保 mysql-connector-java JAR 在那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2020-06-23
    相关资源
    最近更新 更多