ClassNotFoundException com.mysql.jdbc.Driver

ClassNotFoundException com.mysql.jdbc.Driver

这个问题可能已经问了很多次了。在Google搜索了上面的错误并进行了一些更新之后,我不明白为什么我仍然会收到这个错误。我已经将我的驱动程序-mysql连接器-java-5.1.5bin放在类路径中:

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)

我在这里做什么?


心有法竹
浏览 1435回答 3
3回答

慕娘9325324

最常见的原因是在加载类的位置上存在一些冲突。例如,如果您有两个位置,一个位置有JDBC驱动程序,另一个位置没有位置,那么如果您的类加载器从第一个位置加载,而来自第一个位置的某个类希望使用驱动程序,那么驱动程序就不在那里。因此,寻找使用您的驱动程序的重复的JAR。

HUH函数

如果您在Eclipse中遇到了这个问题,我一直在遵循许多不同的解决方案,但对我有用的是:右键单击项目文件夹并打开“属性”。从右侧面板中,选择JavaBuildPath,然后转到Library选项卡。选择AddExternalJAR来导入MySQL驱动程序。从右侧面板中,选择DeploymentAssembly。选择Add.,然后选择JavaBuildPath条目并单击Next。您应该会看到列表中的SQL驱动程序。选择它并首先单击。就这样!再试一次!干杯!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java