Есть очень похожий вопрос для моего, но в моем случае у меня нет дубликатов банок в моем пути сборки, поэтому решение для меня не работает, Я искал 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...
, и я не могу понять, почему! Вот что я сделал:
- Загрузите mysql-коннектор.
- Поместите его в мою папку MySQL
C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar
. - Открыл свойства проекта в Eclipse.
- Добавить внешнюю банку в мой путь сборки, и я выбрал
mysql-connector-java-5.1.12-bin.jar
.
Каждый раз, когда я пытаюсь использовать сервлет, я получаю ту же ошибку, независимо от того, есть ли у меня банка или нет. Не могли бы вы помочь мне понять это?