2013-04-05 4 views
12

Я получаю исключение java.lang.ClassNotFoundException, когда я пытаюсь запустить свой код,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Мой код

try 
    { 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/simple", 
     "root","root"); 
    Statement stmt=con.createStatement(); 
    String query="SELECT * FROM CUST"; 
    ResultSet rs=stmt.executeQuery(query); 
    while(rs.next()) 
    { 
      System.out.print(rs.getString("CUST_NAME") +" "); 
      System.out.print(rs.getString(2) +" "); 
      System.out.print(rs.getString(3) +" "); 

    }  
    rs.close(); 
    stmt.close(); 
    con.close();  
    } 
    catch (ClassNotFoundException e) 
    { 
    e.printStackTrace(); 
    } 
    catch (SQLException e) 
    { 
    e.printStackTrace(); 
    }  

Я m получение ошибки

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:169) 
at Simple.MyProg.main(MyProg.java:15) 

Что я делаю неправильно?

+8

Ваш баночка (один, содержащий драйвер) в пути к классам? –

+2

просто скопируйте mysql-connector-java-version-bin.jar в каталог lib. Если вы используете tomcat, это будет в вашем пути установки/lib .. –

+0

, если вы используете maven? просто добавьте зависимость maven: http://mvnrepository.com/artifact/mysql/mysql-connector-java – Timeless

ответ

17

проблема не в коде, но вы не добавили драйвер в свой проект !!! Вы должны добавить драйвер *.jar к вашему проекту ...

Попробуйте положить это в Lib каталога, а затем снова начинает ...

кота

проблема является Class.forName("com.mysql.jdbc.Driver"); он пытается загрузить драйвер, но он не получает его, это причина, по которой вы получаете java.lang.ClassNotFoundException.

2

Включить путь jar (драйвер jdbc) в pathpath.

4

Вы можете загрузить последнюю версию драйвера mysql из нижележащего пути и скопировать в свой путь к классам или использовать веб-сервер, а затем скопировать в папку tomcat/lib или war/web-inf/lib.

http://dev.mysql.com/downloads/connector/j/ или

http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.1.10/mysql-connector-java-5.1.10.jar

12

Copyed * .jar в моем WEB-INF/Lib папки -> Работал для меня. При включении пути buildpath каждый раз это errormsg.

+0

этот работал для меня. thnx – admix

+0

А какова альтернатива ее копированию на каждый проект 'WEB-INF/lib'? – Asim

+0

Этот трюк работает и для меня. Благодарю . – amol

4

Проблема связана с MySql Драйвер

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

Добавить файл драйвера банку MySQL JDBC в ваш путь к классам.

Также у меня есть эта ошибка на JDK. Я строю ClassPath правильно, тогда я помещаю «mysql-connector-java-5.1.25-bin» в каталог «C: \ Program Files \ Java \ jre7 \ lib \ ext» в этом каталоге у меня есть JDK. затем скомпилируйте и запустите снова, тогда он работает нормально.

+0

i m также получает ту же ошибку, как я могу установить classPath, связано ли это с установкой переменной CLASSPATH в переменных среды? – Erum

0

Если вы используете идеал eclipse, загрузите jqbc jqbc jarbl и укажите, что jar - путь сборки. Путь сборки Java проекта -> Библиотеки -> Добавить внешние банки. Соединитель может быть получен от http://dev.mysql.com/downloads/connector/j/

1

Если вы получили эту ошибку при ее запуске, то, вероятно, это связано с тем, что вы не включили JAR-файл mysql-коннектора в папку lib вашего веб-сервера.

Теперь важно добавить mysql-connector-java-5.1.25-bin.jar в свой путь к классам, а также в каталог lib вашего веб-сервера. Путь Tomcat lib приведен в качестве примера Tomcat 6.0 \ lib

0

Если это отдельная программа, загрузите jQ соединитель mysql и добавьте его в свой путь к классам.

Если это проект maven, добавьте ниже зависимость и запустите свою программу.

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.37</version> 
</dependency> 
0

Я имел

runtime('mysql:mysql-connector-java') 

Изменен

compile('mysql:mysql-connector-java') 

Fixed моя проблема