Eclipse中的java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

代码有什么问题,debugging时有很多错误。 我正在写一个单身类的代码来连接数据库的MySQL。

这是我的代码

package com.glomindz.mercuri.util; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; public class MySingleTon { String url = "jdbc:mysql://localhost:3306/"; String dbName = "test"; String driver = "com.mysql.jdbc.Driver"; String userName = "root"; String password = ""; private static MySingleTon myObj; private Connection Con ; private MySingleTon() { System.out.println("Hello"); Con= createConnection(); } @SuppressWarnings("rawtypes") public Connection createConnection() { Connection connection = null; try { // Load the JDBC driver Class driver_class = Class.forName(driver); Driver driver = (Driver) driver_class.newInstance(); DriverManager.registerDriver(driver); connection = DriverManager.getConnection(url + dbName); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } return connection; } /** * Create a static method to get instance. */ public static MySingleTon getInstance() { if (myObj == null) { myObj = new MySingleTon(); } return myObj; } public static void main(String a[]) { MySingleTon st = MySingleTon.getInstance(); } } 

我是新来的Java。 请帮忙。

似乎mysql连接库不包括在项目中。 解决以下其中一个build议解决scheme的问题:

  • MAVEN项目解决scheme

将mysql连接器依赖项添加到pom.xml项目文件中:

 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> 

在这里你是所有的版本: https : //mvnrepository.com/artifact/mysql/mysql-connector-java

  • 所有项目解决scheme

将jar库手动添加到项目中。

右键单击项目 – >构buildpath – >configuration构buildpath

Libraries Tab Add External JarSelect你的jar子。

你可以在这里findmysql连接器的zip文件

  • 说明:

在构build项目时,java会引发exception,因为找不到mysql连接库中的文件(com.mysql.jdbc.Driver类)。 解决scheme是将库添加到项目中,java将findcom.mysql.jdbc.Driver

如果你在IDE中遇到了错误(编译时错误),那么你需要将你的mysql连接器的jar文件添加到你的libs文件中,并把它添加到你引用的项目库中。

如果在运行时遇到这个错误,那很可能是因为你没有在你的web服务器的lib文件夹中包含mysql-connector JAR文件。

mysql-connector-java-5.1.25-bin.jar到您的类path以及您的Web服务器的lib目录中。 Tomcat的libpath是Tomcat 6.0\lib一个例子

您将不得不在您的类path中包含MySQL MySQL Connector Jar的驱动程序jar。

如果您使用的是Eclipse: 如何在Eclipse中添加依赖库

如果使用命令行,则使用java的-cp参数包含驱动程序jar的path。

 java -cp C:\lib\* Main 

对于基于Gradle的项目,您需要依赖于MySQL Java Connector :

 dependencies { compile 'mysql:mysql-connector-java:6.0.+' } 

JDBC API主要由独立于任何数据库的接口组成。 每个实现JDBC API的数据库都需要数据库特定的驱动程序。

首先从www.mysql.com下载MySQL连接器jar,然后:

Right Click the project -- > build path -- > configure build path

在库选项卡上按Add External Jar并select你的jar子。

检查jar (mysql-connector-java-bin)在你的classpath中从这里下载

在项目中进入文件夹库 – >右键单击 – >添加库 – > Mysqlconnector 5.1

驱动程序连接器不在您的构buildpath中。 configuration构buildpath并将其指向“mysql-connector-java-5.1.25-bin.jar”(检查您正在使用的版本)。 或者,您可以使用maven:D

对于基于Maven的项目,您需要依赖项。

 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> 

这是因为WEB-INF文件夹在错误的子目录中的位置不存在。 您可以编译应用程序以使用public_html下的WEB-INF文件夹,也可以像上面的错误一样复制子文件夹中的WEB-INF文件夹。

在我的情况下可能看起来微不足道的netbeans版本Maven项目7.2.1是不同的。 项目中有一个名为依赖关系的文件夹。 右键单击,然后popup一个窗口,您可以search包。 在查询区放

 mysql-connector 

它会调出匹配(似乎这是对一些存储库)。 双击然后安装。

由于未定义类path,也会发生exception。

经过几个小时的研究,经过数百页,问题是库的类path没有定义。

在你的Windows机器中设置类path如下

 set classpath=path\to\your\jdbc\jar\file;. 

我明白你的问题在你的pom.xml中添加这个依赖关系,你的问题就会解决,

https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38

如果您使用的是tomcat,那么还需要将项目目录与数据库连接器jar文件复制到tomcat / lib。 这对我工作