ClassNotFoundException com.mysql.jdbc.Driver

2022-09-01 01:14:28

这个问题可能已经在这里问过很多次了。在对上述错误进行了一些Google搜索并进行了一些更新之后,我无法理解为什么我仍然收到该错误。我已经把我的驱动程序 - mysql-connector-java-5.1.5-bin放在类路径中:

Java_Home\jre\lib\
Java_Home\jre\lib\ext\
Java_Home\lib

我用来连接到mysql数据库的代码是:

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

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mail","root","");

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select message_body from deadletter");
String dbtime;
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
} 

con.close();

}
catch (SQLException e) {
        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        }

    }

上述异常的完整堆栈跟踪是:

java.lang.ClassNotFoundException: com.mysql.jdbc:Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    at java.lang.Class.forName0(Native Method)  
    at java.lang.Class.forName(Class.java:169)
    at mail.main(mail.java:114)  

现在,我在这里做错了什么?


答案 1

如果你在 Eclipse 中遇到这个问题,我一直在遵循许多不同的解决方案,但对我有用的解决方案是这样的:

  1. 右键单击项目文件夹,然后打开“属性”。

  2. 从右侧面板中,选择“Java 构建路径”,然后转到“库”选项卡。

  3. 选择添加外部 JAR 以导入 mysql 驱动程序。

  4. 从右侧面板中,选择“部署程序集”。

  5. 选择添加...,然后选择 Java 构建路径条目并单击下一步。

  6. 您应该会在列表中看到 sql 驱动程序。选择它,然后先单击。

就是这样!尝试再次运行它!干杯!


答案 2

我也为同样的问题而苦苦挣扎,最终得到了解决方案。只需将 复制到 Tomcat 的文件夹中,然后从 webapp 的文件夹中删除 jar,然后运行该项目。MySql-Connector.jarliblib