【问题标题】:java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/WORLDjava.sql.SQLException: 找不到适合 jdbc:mysql://localhost/WORLD 的驱动程序
【发布时间】:2017-08-26 11:25:53
【问题描述】:

我是第一次尝试 Gradle 和 JDBC。我有以下 gradle.build 文件:

apply plugin: 'java-library'
apply plugin: 'java'

repositories {
    jcenter()
    mavenCentral()
}

dependencies {
    compile 'mysql:mysql-connector-java:5.1.36'
    testImplementation 'junit:junit:4.12'
}

在我的 HelloMySQL.java 文件中,我正在尝试建立与 MySQL 数据库 WORLD 的连接(验证 URL 和端口)。我有以下代码:

package Hello;
import java.sql.*;

public class HelloMySQL {
    public static void main(String[] args) {
        Connection conn = null;
        try{
            System.out.println("Trying to connect...");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/WORLD", "root", "root");
            System.out.println("Creating statement...");
                Statement stmt = conn.createStatement();
                String sql;
                sql = "SELECT * FROM City LIMIT 10";
                ResultSet rs = stmt.executeQuery(sql);
                while(rs.next()){
                  int id = rs.getInt("id");
                  String name = rs.getString("name");
                  String countryCode = rs.getString("CountryCode");
                  System.out.println(id + " " + name + "\t " + countryCode);
                }

        } catch(SQLException e){
            System.out.println(e.toString());
        }

    }
}

我也尝试在DriverManager.getConnection 之前添加这一行:

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

但它会抛出一个java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 我对 gradle 构建文件做错了吗?

编辑:我没有将 MySQL 连接器的 jar 添加到项目中。 Gradle 会为我下载它,对吧?

【问题讨论】:

  • @anant666 这是 Eclipse 生成的样板代码。我忘了从我粘贴的代码中删除它。
  • 你是如何运行它的?驱动程序需要在运行时类路径中。
  • @MarkRotteveel 我是 Java 新手。我正在使用 Eclipse 的 Run 运行它。每次对构建文件进行更改后,我都尝试清理项目。我还尝试将依赖类型从 compile 更改为 runtime
  • 我从未使用过 Eclipse 中的 Gradle,所以我不知道它是如何交互的。由于 Eclipse 默认不使用 Gradle:您是否真的将其创建为 gradle 项目?
  • @MarkRotteveel 是的,我将它创建为一个 gradle 项目。你知道我如何使用 gradle CLI 编译和运行吗?

标签: java mysql jdbc gradle


【解决方案1】:

我发现了问题。不完全是一个问题,但仍然为可能与 Eclipse 斗争的人发布它。

gradle.build 文件进行更改后,将无法清理项目。您还需要刷新 gradle 项目。

在build.gradle文件中右键-> Gradle -> Refresh Gradle Project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-01
    • 2012-07-30
    • 2014-06-09
    • 2020-05-21
    • 2016-11-28
    • 2015-09-22
    • 2014-08-05
    • 2021-05-18
    相关资源
    最近更新 更多