Java Mysql:ClassNotFoundException->;找不到驱动程序

Java Mysql:ClassNotFoundException->;找不到驱动程序,java,eclipse,jdbc,classpath,Java,Eclipse,Jdbc,Classpath,可能重复: 我已经在Eclipse库中包含了mysql-connector-java-5.1.16-bin.jar,这些代码基于我在web上找到的教程,因为我以前没有在java中使用过mysql。不幸的是,我不知道我在哪里使用了acutualmysql-connector-java-5.1.16-bin.jar,控制台打印的找不到驱动程序。意味着抛出了ClassNotFoundException。你看到我没有看到的问题了吗 import java.sql.Connection; import

可能重复:

我已经在Eclipse库中包含了
mysql-connector-java-5.1.16-bin.jar
,这些代码基于我在web上找到的教程,因为我以前没有在java中使用过mysql。不幸的是,我不知道我在哪里使用了acutual
mysql-connector-java-5.1.16-bin.jar
,控制台打印的
找不到驱动程序。
意味着抛出了
ClassNotFoundException
。你看到我没有看到的问题了吗

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.sql.Timestamp;

public class MysqlConnector {

    private static MysqlConnector instance = null;
    private static Connection conn = null;

    private static String dbHost = "localhost";
    private static String dbPort = "3306";
    private static String database = "sample";
    private static String dbUser = "root";
    private static String dbPassword = "";

    public MysqlConnector() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":"
                    + dbPort + "/" + database + "?" + "user=" + dbUser + "&"
                    + "password=" + dbPassword);
        } catch (ClassNotFoundException e) {
            System.out.println("Could not find driver."); //TODO LOGGER
        } catch (SQLException e) {
            System.out.println("Could not connect to database."); //TODO LOGGER
        }
    }

    public static MysqlConnector getInstance()
    {
        if(instance == null)
            instance = new MysqlConnector();
        return instance;
    }

    public boolean validateApiKey(String apikey)
    {
        if(conn != null)
        {
            Statement query;
            try {
                query = conn.createStatement();

                String sql = "SELECT startdate, expiration, active " + "FROM apikeys "
                        + "WHERE apikey = '" + apikey +"'";
                ResultSet result = query.executeQuery(sql);

                if(result.getFetchSize()>0 && result.getInt("active")==1){
                    Date now = new Date();
                    Date startdate = result.getDate("startdate");
                    Date expirationdate = result.getDate("expiration");
                    if(now.before(expirationdate) && now.after(startdate)){
                        return true;
                    } else {
                        return false;
                    }
                } else {
                    return true;
                }
            } catch (SQLException e) {
                e.printStackTrace();
                return false;
            }
        }
        return false;
    }

}

右键单击项目>构建路径>添加库
并添加jar文件


还要确保它位于运行时路径上<代码>右键单击主类>运行方式>运行配置>类路径

我看到的唯一一件事是,您需要在项目中添加MySQL连接器库,而不仅仅是在Eclipse库中。

如何运行

当您执行以下操作时,可以从该jar实例化一个类

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

这几乎肯定是一个类路径问题。看一看非常相似的标签,可能的重复不是关于eclipse的。我不确定我是否同意这是一个完全相同的答案,至少在这里我找到了另一张票中找不到的答案。我的观点完全正确。我投票决定重新打开。我认为将jar添加到运行时类路径也解决了这个问题,我将很快予以确认。连接器jar包含在项目库中。