Как установить драйвер JDBC в веб-проект Eclipse, не сталкиваясь с java.lang.ClassNotFoundexception - PullRequest
22 голосов
/ 01 марта 2010

Есть ОЧЕНЬ похожий вопрос к моему, но в моем случае у меня нет дубликатов jar в моем пути сборки, поэтому решение не работает для меня. Я искал в Google пару часов, но ни одно из найденных там решений не решило мою проблему. Я создаю веб-сайт с возможностью подключения к базе данных для домашней работы. Я использую базу данных MySQL, разрабатываю в Eclipse и работаю в Windows.

Я продолжаю получать java.lang.ClassNotFoundException: com.mysql.jdbc.Driver со следующим кодом:

import java.sql.*;
//...
public void someMethodInMyServlet(PrintWriter out)
{
    Connection connection = null;
    PreparedStatement query = null;
    try {

        out.println("Create the driver instance.<br>");
        Class.forName("com.mysql.jdbc.Driver").newInstance();

        out.println("Get the connection.<br>");
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "secret");
        query = connection.prepareStatement( "SELECT * FROM customers");

        //...
    } catch (Exception e)
    {
        out.println(e.toString()+"<br>");
    }
}
//...

Когда я запускаю приведенный выше код, я получаю следующий вывод:

Create the driver instance.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Это не проходит через линию Class.forName..., и я не могу понять, почему! Вот что я сделал:

  1. Скачать mysql-разъем.
  2. Поместите его в мою папку MySQL C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar.
  3. Открыл свойства проекта в Eclipse.
  4. Добавьте External Jar к моему пути сборки, и я выбрал mysql-connector-java-5.1.12-bin.jar.

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

Ответы [ 13 ]

0 голосов
/ 13 ноября 2012

Единственное решение, которое сработало для меня, это поместить файл .jar в WEB-INF / lib. Надеюсь, это поможет.

0 голосов
/ 30 октября 2012

Много раз я сталкивался с этой проблемой, я испытывал ClassNotFoundException. если банка находится не в физическом месте.

Поэтому убедитесь, что файл .jar (соединитель mysql) находится в физическом месте папки WEB-INF lib. а также убедитесь, что перезапустите Tomcat с помощью команды shutdown в cmd. это должно работать.

0 голосов
/ 07 мая 2012

Если проблема не устранена,

Положи mysql-connector-java-5.0.8-bin jar находится в вашей папке Tomcat-> lib-> (независимо от того, где вы установили Tomcat). И измените свою переменную среды (Выполните, нажав Свойства Mycomputer - Расширенные настройки системы - Переменные среды - И установите новое имя переменной и значения переменной в качестве места, где находится ваш файл lib. Не забудьте ввести; )

Если проблема не устранена Попробуйте скачать commons-collection-2.0.jar (http://www.docjar.com/jar_detail/commons-collections-2.0.jar.html) и вставьте банку в то же место, где находится ваш mysql баночка (т.е.) внутри Tomcat-lib.

Очистите ваш проект-Остановите ваш сервер- Наконец попробуйте запустить.

...