java - MySQL JDBC 驱动程序未找到错误。在类路径中,已验证

标签 java mysql

我一生都无法让 Java MySQL 连接器连接到 MySQL...我通过 apt-get 安装了它,并将 JAR 下载到我正在构建的 Java 包内的“依赖项”文件夹中。

javac -cp ./Dependencies/mysql-connector-java-5.1.43-bin.jar:/usr/share/java/* -source 1.8 -target 1.8 -d . SDUtils/*.java
added manifest
adding: Build.sh(in = 158) (out= 119)(deflated 24%)
adding: Dependencies/(in = 0) (out= 0)(stored 0%)
adding: Dependencies/mysql-connector-java-5.1.43-bin.jar(in = 999018) (out= 950443)(deflated 4%)
adding: Legacy/(in = 0) (out= 0)(stored 0%)
adding: Legacy/SD-Utils.py(in = 3576) (out= 1268)(deflated 64%)
adding: SDUtils/(in = 0) (out= 0)(stored 0%)
adding: SDUtils/dbConnector.java(in = 729) (out= 402)(deflated 44%)
adding: SDUtils/SDUtils.java(in = 4091) (out= 1589)(deflated 61%)
adding: SDUtils/dbConnector.class(in = 1299) (out= 769)(deflated 40%)
adding: SDUtils/SDUtils.class(in = 2574) (out= 1568)(deflated 39%)

运行SDUtils/dbConnector的结果:

Where is your MySQL JDBC Driver?
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at SDUtils.dbConnector.main(dbConnector.java:9)

来源:

package SDUtils;

import java.sql.*;

public class dbConnector {

    public static void main (String[] args) {

        try { Class.forName("com.mysql.jdbc.Driver"); }

        catch (ClassNotFoundException e) {

            System.out.println("Where is your MySQL JDBC Driver?");
            e.printStackTrace();
            return;

        }

        String dbUrl = "jdbc:mysql://localhost:3306/Core";
        String uName = "MyUser";
        String uPass = "MyPass";

        System.out.println("Connecting database...");

        try {
            Connection con = DriverManager.getConnection(dbUrl, uName, uPass);
            System.out.println("Database connected! (Core)");
        }

        catch (SQLException err) { System.out.println(err.getMessage()); }
        catch (Exception e) { System.out.println(e); }

    }

}

ps -aux | 的结果grep mysql:

mysql     2929  0.1  1.8 2310936 602096 ?      Ssl  15:43   0:40 /usr/sbin/mysqld
astump   22480  0.0  0.0  14240   948 pts/3    S+   22:20   0:00 grep --color=auto mysql

最佳答案

此异常是由于类路径中缺少 jar 造成的。您需要在使用“java”命令运行程序时在类路径中指定 jar 路径也可以解决此问题。

关于java - MySQL JDBC 驱动程序未找到错误。在类路径中,已验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45538985/

相关文章:

c# - CXF 与 .Net 不能很好地配合?

java - 这里 SDK : Cannot initialize Map Fragment:OPERATION_NOT_ALLOWED

Java泛型方法声明基础

Python 日志文件时间戳

php - 如何将 MySQL 代码转换为 PDO 语句?

Java 调用拦截日志记录

java - 如何使用输入流标记和重置功能?

mysql - 使用参数调用特定列的存储过程

php - 为什么我的SQL语句只返回一条记录?

php - 为什么输入的关键字没有存储在数据库中?