【问题标题】:Why do I get a No suitable driver found error? [duplicate]为什么我会收到“找不到合适的驱动程序”错误? [复制]
【发布时间】:2020-07-07 20:55:28
【问题描述】:

我正在尝试连接到本地主机上的数据库。 Mysql 正在运行,数据库名称是employees。我确认端口、用户名和密码正确。

java、class 和 jar 文件在同一个文件夹中。我尝试在系统环境变量中将 jar 文件添加到我的 CLASSPATH 中,并尝试使用 -cp 添加它,如下所示。

javac -cp . relearnjdbc.java

javac -cp ./mysql-connector-java-8.0.20.jar relearnjdbc.java

javac -cp *.jar relearnjdbc.java

我还尝试将文件分离到它们自己的文件夹 src、class 和 bin 中。

javac -cp ../bin -d ../class relearnjdbc.java

这是我的代码

public class relearnjdbc {
    public static String url = "jdbc:mysql://localhost:3306/employees";
    public static String username = "root";
    public static String password = "root";

    public static void main(String[] args){
        System.out.println("Connecting to DB...");

    
        try{
            //Class.forName("com.mysql.jdbc.Driver");
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            //Connection connection = DriverManager.getConnection(url, username, password);
            DriverManager.getConnection(url, username, password);
            System.out.println("Connected!");
        }catch (Exception e){
            throw new IllegalStateException("cannot connect to DB ", e);
        }
    }
}

这些给出 java.lang.ClassNotFoundException。我知道它已被弃用,但它出现在很多类似问题的答案中。

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

我没有使用 IDE、tomcat、netbeans、apache、phpadmin 或其他任何东西。据我所知,许多其他提出此问题的人正在使用其中之一,或者他们的类路径中没有 jar 文件。

【问题讨论】:

  • 您只表明您在编译时指定了类路径,但是您如何运行您的Java应用程序?我的猜测是您在 运行 Java 应用程序时没有指定类路径。
  • @MarkRotteveel 我尝试仅在编译时指定。我尝试将它添加到我的环境变量中并指定运行时间,以及所有三个。将其添加到环境变量中,并在编译运行时使用-cp。

标签: java mysql jdbc


【解决方案1】:

MySQL Connector/J中实现java.sql.Driver的类名由com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver 。旧的类名已被弃用docs

试试Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

【讨论】:

  • 它仍然抛出 ClassNotFoundException
  • 名称已更改,但旧的类名 (com.mysql.jdbc.Driver) 仍可用于向后兼容并且工作正常。如果 OP 得到 ClassNotFoundException,则驱动程序不在类路径中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
  • 2013-06-30
  • 2019-11-22
  • 2014-03-28
  • 1970-01-01
相关资源
最近更新 更多