Вопрос-ответ

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver MySQLConnector/J

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver MySqlConnector/J

Что не так с кодом при отладке возникает множество ошибок. Я пишу код для одноэлементного класса для подключения к базе данных 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. Пожалуйста, помогите.

Переведено автоматически
Ответ 1

Похоже, библиотека подключения mysql не включена в проект. Решите проблему, следуя одному из предложенных решений:


  • РЕШЕНИЕ ДЛЯ ПРОЕКТОВ MAVEN

Добавить в 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


  • РЕШЕНИЕ ДЛЯ ВСЕХ ПРОЕКТОВ

Добавьте библиотеку jar вручную в проект.

Щелкните правой кнопкой мыши проект - > путь сборки - > настроить путь сборки

В Libraries Tab нажмите Add External Jar и Select ваш jar.

Вы можете найти zip для mysql-connector здесь


  • Объяснение:

При сборке проекта java выдает исключение, поскольку файл (класс com.mysql.jdbc.Driver) из библиотеки подключения mysql не найден. Решение заключается в добавлении библиотеки в проект, и java найдет com.mysql.jdbc.Driver

Ответ 2

Если вы получили ошибку в вашей IDE (ошибка времени компиляции), вам необходимо добавить ваш jar-файл mysql-connector в ваши библиотеки и добавить это также в вашу библиотеку project, на которую вы ссылаетесь.

Если вы получаете эту ошибку при ее запуске, то, вероятно, это связано с тем, что вы не включили JAR-файл mysql-connector в папку lib вашего веб-сервера.

Добавьте mysql-connector-java-5.1.25-bin.jar в свой путь к классу, а также в каталог библиотеки вашего веб-сервера. Путь к библиотеке Tomcat приведен в качестве примера Tomcat 6.0\lib

Ответ 3

Каждый написал ответ, но я все еще удивлен, что никто на самом деле не ответил на него, используя лучший простой способ.
Люди отвечают, которые включают файл jar. Но ошибка все равно будет возникать.


Причина этого в том, что jar не развертывается при запуске проекта. Итак, что нам нужно сделать, так это указать IDE также развернуть этот jar.


Люди здесь столько раз отвечали, что помещали этот jar-файл в папку lib WEB-INF. Это кажется нормальным, но зачем делать это вручную. Есть простой способ. Проверьте следующие шаги:


Шаг 1: Если вы не ссылались на файл jar в проекте, тогда ссылайтесь на него следующим образом.


Щелкните правой кнопкой мыши по проекту и перейдите в свойства проекта. Затем перейдите к пути сборки java, затем добавьте внешний jar-файл через него.


Но это все равно не решит проблему, потому что добавление внешнего jar через путь сборки помогает только в компиляции классов, и jar не будет развернут при запуске проекта. Для этого выполните этот шаг


Щелкните правой кнопкой мыши по проекту и перейдите в свойства проекта. Затем перейдите к сборке развертывания, затем нажмите Добавить , затем перейдите к записям пути сборки java build и добавьте свои библиотеки, будь то jstl, mysql или любой другой файл jar. добавьте их в deployment. Ниже приведены две картинки, на которых это показано.


Перед добавлением

После добавления

Ответ 4

Для проектов на основе Gradle вам нужна зависимость от MySQL Java Connector:

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