com.mysql.jdbc.Driver не найден с соединителем mysql в buildpath

Я использую Eclipse Juno. У меня есть mysql-connector-java-5.1.22-bin.jar в моем buildpath, и я пытаюсь установить соединение БД с моей базой данных mysql. Вот мой код

public Connection getConnectionToDB() {
    try {
        Class.forName(driver);
        Connection con = DriverManager.getConnection(url + dbName,
                userName, password);
        return con;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

Когда я отладил его, я обнаружил, что проблема в:

Class.forName(driver);

я также попытался заменить его на:

Class.forName(driver).newInstance();

В этой строке оно выдается за исключением и выдает это исключение:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at main.jdbc.BaseJdbc.getConnectionToDB(BaseJdbc.java:18)
at main.jdbc.UserDriverJdbc.queryUserById(UserDriverJdbc.java:15)
at main.drivers.UserDriver.findUserById(UserDriver.java:50)
at main.drivers.UserDriver.isLoginValid(UserDriver.java:56)
at main.controllers.LoginController.doPost(LoginController.java:33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:164)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

Ответы на вопрос(5)

Вы должны убедиться, что в вашем проекте загружены правильные библиотеки и файлы JAR. Я много имел с этим дело при работе с postgresql. Я думаю, что тыпросто отсутствует файл фляги.

 Gene Parmesan16 окт. 2012 г., 19:50
Вы смотрели на некоторые другие вопросы, размещенные на сайте? Я нашел этот, который кажется похожим на то, что вы делаетеstackoverflow.com/questions/12601879/... и этотstackoverflow.com/questions/12633149/..., В противном случае я в недоумении. Ваш код выглядит правильно.
 Murat Sayılgan16 окт. 2012 г., 19:38
Как я уже сказал, у меня есть mysql-connector-java-5.1.22-bin.jar в моем buildpath :(. Я также установил переменную CLASSPATH с любыми другими предложенными сообщениями.
 Murat Sayılgan17 окт. 2012 г., 12:20
Я просто понимаю, что эта проблема может быть связана с затмением Юноны. Я могу'Похоже, что мой log4j тоже работает. Я буду копать это больше.

Это была моя проблема, на которую был дан ответ:SO Link "

Если этот код работает в вашем J2SE, это означает, что вам нужно где-то иметь JAR-файл, содержащий класс com.mysql.jdbc.Driver (так называемый драйвер JDBC). Этот JAR должен быть виден в Tomcat. Поэтому я бы предложил разместить mysql-jdbc.jar в физическом месте в каталоге / WEB-INF / lib вашего проекта. " FromI»

искал решение везде. Может быть, это не ваше решение, но с помощью Eclipse я экспортировал как файл JAR и получил то же исключение, но затем экспортировал какRunnable JAR "и это сработало.

Если вы используете NetBeans, выполните следующие действия: перейдите в свое приложение >>>библиотеки >>добавить банку (щелчком правой кнопки мыши) >> "MySQL-разъем-Java-5.1.22-bin.jar»

Решение Вопроса

Мне было довольно сложно найти ответ, но я понял его. Это была, конечно, проблема с классами.

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

затмение -> окно -> предпочтения -> Ява -> buildpath -> Путь к классам

и добавить "

MySQL-разъем-Java-5.1.22-bin.jar»

как новая переменная. Назовите это как хотите. Надеюсь это поможет.

Ваш ответ на вопрос