ошибка java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

444
08 февраля 2017, 23:57

Внезапно перестал работать программа выдает ошибку

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

@WebServlet(urlPatterns = "/day")
public class Servlet extends HttpServlet {
    protected String resQ = null;
    GregorianCalendar calendar = new GregorianCalendar();
    int dayID = calendar.get(Calendar.DAY_OF_MONTH); //
    private static final String URL = "jdbc:mysql://localhost:3306/DataBase";
    private static final String USER = "root";
    private static final String PASSWORD = "root";
    private Connection currentConnect;
    public void initDisconnection() throws Exception {
        currentConnect.close();
    }
    public void initConnection() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        currentConnect = DriverManager.getConnection(URL, USER, PASSWORD);
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        try {
            initConnection();
        Statement statement = currentConnect.createStatement();
        String query = ("select * from db_predict.db_predict WHERE ID =" + dayID);
        ResultSet resultQuery = statement.executeQuery(query);
        while (resultQuery.next()) {
            resQ = resultQuery.getString("Text");
        }
        initDisconnection();
        } catch (Exception e) {
        e.printStackTrace();
    }
        PrintWriter out = response.getWriter();
        out.println("<h1>" + resQ + "</h1>");  //Вывод на экран текста
    }
}

Как можно исправить ошибку? Для сборки использовал Мaven.

Answer 1

В коде (по крайней мере в той части где загружается драйвер JDBC) ошибки нет.

Появление ошибки:

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

означает что при вызове:

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

библиотека содержащая JDBC драйвер не загружен/не найдена в CLASSPATH

Надо убедиться что JDBC драйвер MySQL, находится в CLASSPATH

Как вариант, возможно у вас какая то специальная версия JDK, в которой загрузку надо делать так:

Class.forName("com.mysql.jdbc.Driver").newInstance();
READ ALSO
Не получается создать двумерный массив

Не получается создать двумерный массив

Создаю игру, в коорой вражеские объкты появляются на панели рандомноДля того, чтобы это реализовать, хочу создать двумерный массив, который...

354
Структура общения клиент-сервера через ObjectOutput(Input)Stream Java

Структура общения клиент-сервера через ObjectOutput(Input)Stream Java

Помогите понять как правильно настроить структура общения через объектыСервер:

329
Конветирую класс java в kotlin

Конветирую класс java в kotlin

Конвертирую класс из java в kotlin, при условии, что класс рабочий

316
Алгоритм заливки замкнутого контура (FloodFill). Android. Java

Алгоритм заливки замкнутого контура (FloodFill). Android. Java

ЗдравствуйтеХочу реализовать заливку на Java под Android

572