ClassNotFoundException: com.mysql.jdbc.Driver
Этот вопрос часто задавался здесь, но я все еще не могу решить мою проблему: я положил mysql-connector-java-5.1.18-bin
в C:\Program Files\Java\jre6\lib\ext
папка. У меня есть этот код:
// Load the database driver
Class.forName("com.mysql.jdbc.Driver");
// Get a connection to the database
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mysql", "root", "4958ps");
// Get a statement from the connection
Statement stmt = conn.createStatement() ;
// Execute the query
ResultSet rs = stmt.executeQuery( "SELECT * FROM Cust" ) ;
// Loop through the result set
while( rs.next() )
System.out.println( rs.getString(1) ) ;
// Close the result set, statement and the connection
rs.close() ;
stmt.close() ;
conn.close() ;
} catch( SQLException se ) {
System.out.println( "SQL Exception:" ) ;
// Loop through the SQL Exceptions
while( se != null ) {
System.out.println( "State : " + se.getSQLState() ) ;
System.out.println( "Message: " + se.getMessage() ) ;
System.out.println( "Error : " + se.getErrorCode() ) ;
se = se.getNextException() ;
}
} catch( Exception e ) {
e.printStackTrace();
}
и я получаю ClassNotFoundException со следующей трассировкой стека:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at pack.Test.main(Test.java:14)
Я тоже поменял CLASSPATH
переменная быть C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.1.18-bin
Есть идеи?
6 ответов
Загруженный ZIP-файл должен содержать файл с именем mysql-connector-java-5.0.8-bin.jar
или похожие. Версия может быть другой. Проверьте, присутствует ли он, и убедитесь, что он находится непосредственно в вашем пути к классам (не в подкаталоге и т. Д.).
Если все в порядке, убедитесь, что ваша переменная classpath не перезаписана чем-то другим. Если вы выполняете свою программу вручную, сделайте это так: java -cp "C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.0.8-bin.jar:." YourClass
Если вы используете IDE, такую как eclipse, проверьте настройки пути сборки там. (В eclipse вы должны щелкнуть правой кнопкой мыши по своему проекту -> Свойства -> Путь сборки Java -> Добавить внешние JAR-файлы, а затем указать путь к вашему соединителю...jar.
Я думаю, что проблема в том, что вы помещаете файл mysql-connector-java-5.1.18-bin, а не в файл mysql-connector-java-5.0.5.jar.
Я сделал веб-приложение в затмении (IDE). поэтому, если вы создаете веб-приложение на eclipse(IDE), вы можете поместить "mysql-connector-java-5.0.5.jar" в папку lib. ниже путь, куда я помещаю свой файл "mysql-connector-java-5.0.5.jar"...
C: \ Users \ Абхишек \ рабочей \MyProject\WebContent\WEB-INF\ Lib \ MySQL-разъем-Java-5.0.5.jar
Переменная CLASSPATH не может быть просто каталогом, она должна иметь фактическое имя jar.
Файл летучей мыши будет выглядеть как
@echo off
set CLASSPATH=program.jar;mysql-connector-java-5.1.18-bin.jar
:start
start javaw.exe MainClass
program.jar (будет содержать класс MainClass в качестве основного класса), а mysql.jar должен находиться в том же каталоге.
Для Eclipse вы должны установить свой путь сборки проекта, чтобы включить mysql...jar.
Попробуй это
Если вы создаете динамический проект Java (в Eclipse)
Проверьте ваш путь сборки для соответствующего проекта
Шаг 1. Щелкните правой кнопкой мыши на вашем проекте и выберите Свойства
Шаг 2. С правой стороны вы увидите сборку развертывания.
Шаг 3. Нажмите "Добавить" и выберите "Архивы из файловой системы".
Шаг 4. Нажмите на кнопку "Добавить еще раз" и выберите соответствующие файлы jar базы данных.
Я столкнулся с той же проблемой, и что я сделал, чтобы решить ее:
Скачал.jar соответственно на используемый сервер: Для mySQL я скачал mysql-connector-java-5.1.18-bin.jar
Добавлен CLASSPATH в ПЕРЕМЕННЫХ СИСТЕМЫ с полным именем используемого.jar. Если у вас уже есть CLASSPATH var, добавьте его, как в PATH "; Путь к имени файла Jar/jar", например: CLASSPATH = d:\ Requisites\mySQL_connector\mysql-connector-java-5.1.18-bin.jar
В проекте Eclipse: Щелкните правой кнопкой мыши проект->Build Path-.Configure build build. Добавьте внешние файлы JAR и добавьте файл JAR. Когда вы успешно выполните этот шаг, он появится в проекте в "Справочных библиотеках".
Важный шаг (если вы используете платформу Android Development Tools, как я использую), это также добавить этот JAR-файл в папку libs вашего приложения. Я сделал это, скопировав jar из моего пути (d:\ Requisites\mySQL_connector) в папку libs моего проекта.
Перезапустил проект, и он заработал на втором запуске.