ClassNotFoundException:com.mysql.jdbc.Driver

这个问题已经在这里被问了很多,但我仍然无法解决我的问题:我把mysql-connector-java-5.1.18-bin放到C:\Program Files\Java\jre6\lib\ext文件夹中。 我有这个代码:

  // Load the database driver Class.forName("com.mysql.jdbc.Driver"); // Get a connection to the database Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mysql", "root", "4958ps"); // Get a statement from the connection Statement stmt = conn.createStatement() ; // Execute the query ResultSet rs = stmt.executeQuery( "SELECT * FROM Cust" ) ; // Loop through the result set while( rs.next() ) System.out.println( rs.getString(1) ) ; // Close the result set, statement and the connection rs.close() ; stmt.close() ; conn.close() ; } catch( SQLException se ) { System.out.println( "SQL Exception:" ) ; // Loop through the SQL Exceptions while( se != null ) { System.out.println( "State : " + se.getSQLState() ) ; System.out.println( "Message: " + se.getMessage() ) ; System.out.println( "Error : " + se.getErrorCode() ) ; se = se.getNextException() ; } } catch( Exception e ) { e.printStackTrace(); } 

我得到一个带有以下堆栈跟踪的ClassNotFoundException:

 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at pack.Test.main(Test.java:14) 

我还将CLASSPATH变量更改为C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.1.18-bin什么想法吗?

您下载的zip应包含名为mysql-connector-java-5.0.8-bin.jar或类似文件的文件。 版本可能不同。 检查它是否存在并检查它是否直接位于类路径中(不在子目录中等)。

如果没关系,请检查您的类路径变量是否被其他内容覆盖。 如果手动执行程序,请执行以下操作: java -cp "C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.0.8-bin.jar:." YourClass java -cp "C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.0.8-bin.jar:." YourClass

如果您使用的是诸如eclipse之类的IDE,请检查您的构建路径设置。 (在eclipse中,您可以右键单击您的项目 – >属性 – > Java构建路径 – >添加外部JAR,然后提供连接器的路径… jar。

我认为问题是你把mysql-connector-java-5.1.18-bin文件放在那里你必须把“mysql-connector-java-5.0.5.jar”文件放在那里。

我在eclipse(IDE)中创建了一个Web应用程序。 因此,如果您在eclipse(IDE)上创建Web应用程序,那么您可以将“mysql-connector-java-5.0.5.jar”放在lib文件夹中。 下面是我放置“mysql-connector-java-5.0.5.jar”文件的路径…

C:\ Users \用户阿布舍克巴克\工作空间\ MyProject的\的WebContent \ WEB-INF \ lib中\ MySQL的连接器的Java-5.0.5.jar

CLASSPATH变量不能只是目录,它必须具有实际的jar名称。

一个bat文件看起来像

 @echo off set CLASSPATH=program.jar;mysql-connector-java-5.1.18-bin.jar :start start javaw.exe MainClass 

program.jar(将包含MainClass类作为主类),mysql.jar必须驻留在同一目录中。

对于Eclipse,您必须将项目Build Path设置为包含mysql … jar。

我遇到了同样的问题以及我做了什么来解决它:

  1. 相应地将.jar下载到所使用的服务器:对于mySQL,我下载了mysql-connector-java-5.1.18-bin.jar

  2. 在SYSTEM VARIABLES中添加了CLASSPATH,其中使用了.jar的全名。 如果你已经有了CLASSPATH var,那么就加入它,就像在PATH“; Jar / jar文件名的路径”里面那样:CLASSPATH = d:\ requisites \ mySQL_connector \ mysql-connector-java-5.1.18-bin.jar

  3. 在Eclipse项目中:右键单击project-> Build Path-.Configure构建路径。 添加外部JAR并添加jar文件。 当您成功执行此步骤时,它将显示在“参考库”中的项目中

  4. 一个重要的步骤(如果您使用我正在使用的Android开发工具框架)是在您的应用程序的libs文件夹中添加该JAR文件。 我通过将jar从我的路径(d:\ requisites \ mySQL_connector)复制粘贴到我项目的libs文件夹中来完成此操作。

重新启动项目,它在第二次运行时工作。

尝试这个

如果您创建动态Java项目(在Eclipse中)

  1. 检查相应项目的构建路径

    • 步骤1.右键单击Project并选择Properties

    • 步骤2.在右侧,您将获得部署程序集

    • 步骤3.单击“添加”,然后从“文件系统”中选择“存档”

    • 步骤4.再次单击添加并选择相应的数据库jar文件。