简体   繁体   English

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

[英]MySQL JDBC Driver not found errors. In class path, verified

I can't get the Java MySQL Connector to connect to MySQL for the life of me... I installed it both via apt-get and downloading the JAR to a "Dependencies" folder inside my Java package I am building. 我一辈子都无法使用Java MySQL连接器来连接MySQL。我通过apt-get安装了它,然后将JAR下载到要构建的Java包中的“ Dependencies”文件夹中。

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%)

Result of running SDUtils/dbConnector: 运行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)

Source: 资源:

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); }

    }

}

Result of ps -aux | ps -aux的结果| grep mysql: 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

This exception is due to the jar missing in the class path. 该异常是由于在类路径中缺少jar所致。 You need to specify the jar path in the classpath while running the program using "java" command also to resolve this. 您还需要在使用“ java”命令运行程序时在类路径中指定jar路径,以解决此问题。

So I actually figured the real problem out. 所以我实际上已经解决了真正的问题。 I was using mysql-connector-java-5.1.43-bin.jar -- I should have been using the one without the -bin in it. 我正在使用mysql-connector-java-5.1.43-bin.jar-我应该一直使用不带-bin的那个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM