Java 如何在Gradle构建中添加JDBCMySQL连接器?

Java 如何在Gradle构建中添加JDBCMySQL连接器?,java,mysql,gradle,Java,Mysql,Gradle,从Gradle构建中获取.jar以使用JDBCMySQL连接器连接到远程数据库时遇到问题。我得到一个ClassNotFoundException,这使我相信.jar不在类路径中。我是Gradle的新手,所以我一直在尝试修改在新的Eclipse项目中创建的默认build.Gradle Java对象: package com.blu.generator; import java.sql.Connection; import java.sql.DriverManager; import java.s

从Gradle构建中获取.jar以使用JDBCMySQL连接器连接到远程数据库时遇到问题。我得到一个ClassNotFoundException,这使我相信.jar不在类路径中。我是Gradle的新手,所以我一直在尝试修改在新的Eclipse项目中创建的默认build.Gradle

Java对象:

package com.blu.generator;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class MySQLConnection {

    private Connection _conn;

    // init
    MySQLConnection(String url, String user, String pass) throws SQLException, ClassNotFoundException {
        Class.forName("com.mysql.cj.jdbc.Driver");
        this._conn = DriverManager.getConnection(url, user, pass);
        System.out.println("Database connection established.");
    }

    public void getDrugsClaims() throws SQLException {
        String query = "select * from drugs";
        Statement st = this._conn.createStatement();
        ResultSet rs = st.executeQuery(query);
        ResultSetMetaData rsmd = rs.getMetaData();

        int columnsNumber = rsmd.getColumnCount();
        while (rs.next()) {
            //Print one row          
            for(int i = 1 ; i <= columnsNumber; i++){
                  System.out.print(rs.getString(i) + " ");
            }
            System.out.println();        
        }
        return;

    }

}

我相信你的导入工作正常,但是你用
Class.forName
错误地调用了它。而不是
Class.forName(“com.mysql.cj.jdbc.Driver”)
,应该是
Class.forName(“com.mysql.jdbc.Driver”)

我也尝试过,当我在一个非Gradle项目中运行相同的代码时,它告诉我“com.mysql.jdbc.Driver”已被弃用,并使用“com.mysql.cj.jdbc.Driver”。无论如何,两个类实例都不起作用。
apply plugin: 'java-library'

// In this section you declare where to find the dependencies of your project
repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

configurations {
    driver
}

dependencies {
    // This dependency is exported to consumers, that is to say found on their compile classpath.
    api 'org.apache.commons:commons-math3:3.6.1'

    // This dependency is used internally, and not exposed to consumers on their own compile classpath.
    implementation 'com.google.guava:guava:23.0'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'

    // this is for mysql java connector
    compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.15'
    runtime "mysql:mysql-connector-java:8.0.15"
}

jar {
    manifest {
        attributes(
                'Main-Class': 'com.blu.generator.Main'
        )
    }
}