java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我在尝试运行代码时遇到exceptionjava.lang.ClassNotFoundException

我的代码

  try { Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/simple", "root","root"); Statement stmt=con.createStatement(); String query="SELECT * FROM CUST"; ResultSet rs=stmt.executeQuery(query); while(rs.next()) { System.out.print(rs.getString("CUST_NAME") +" "); System.out.print(rs.getString(2) +" "); System.out.print(rs.getString(3) +" "); } rs.close(); stmt.close(); con.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { 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:188) 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 Simple.MyProg.main(MyProg.java:15) 

我究竟做错了什么?

问题不在代码中,但您没有将驱动程序添加到您的项目中! 您必须将*.jar驱动程序添加到项目中…

尝试将它放在lib目录中,然后重新启动tomcat …

问题是Class.forName("com.mysql.jdbc.Driver"); 它试图加载驱动程序,但它没有得到它,这是你得到的原因:

抛出java.lang.ClassNotFoundException。

将* .jar复制到我的WEB-INF / lib文件夹中 – >为我工作。 当包含over buildpath时,每次都有这个errormsg。

您可以从下面的路径下载最新的mysql驱动程序jar,并复制到您的类路径,或者如果您使用的是Web服务器,则复制到tomcat / lib或war / web-inf / lib文件夹。

http://dev.mysql.com/downloads/connector/j/或

http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.1.10/mysql-connector-java-5.1.10.jar

问题与MySql驱动程序有关

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

将MySQL jdbc驱动程序jar文件添加到类路径中。

我在JDK上也有这个错误。 我正确地构建了ClassPath然后我把“mysql-connector-java-5.1.25-bin”放在dir“C:\ Program Files \ Java \ jre7 \ lib \ ext”这个目录中我有我的JDK。 然后编译并再次运行然后它工作正常。

在类路径中包含jar(jdbc驱动程序)的路径。

如果在运行它时遇到此错误,那么可能是因为您没有将mysql-connector JAR文件包含到Web服务器的lib文件夹中。

现在将mysql-connector-java-5.1.25-bin.jar添加到类路径以及web服务器的lib目录中非常重要。 Tomcat lib路径以Tomcat 6.0 \ lib为例

如果是独立程序,请下载mysql连接器jar并将其添加到类路径中。

如果它是一个maven项目,添加以下依赖项并运行您的程序。

  mysql mysql-connector-java 5.1.37  

如果您正在使用eclipse ide,请下载mysql jdbc连接器jar并将该jar指向构建路径。 项目Java构建路径 – >库 – >添加外部jar。 连接器可以从http://dev.mysql.com/downloads/connector/j/获得

我有

 runtime('mysql:mysql-connector-java') 

变成

 compile('mysql:mysql-connector-java') 

解决了我的问题

请注意,mySQL v8 jar中的Driver类的名称(在编写mysql-connector-java-8.0.12.jar时)已更改为com.mysql.cj.jdbc.Driver您可以通过进入jdbc jar并查看META-INF/services/java.sql.Driver文件。