2013-04-05 19 views
12

sto ottenendo l'eccezione java.lang.ClassNotFoundException quando sto cercando di eseguire il mio codice,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

My Code

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(); 
    }  

I' m Come Errore

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) 

che cosa sto facendo di sbagliato?

+8

È il vostro vaso (quella che contiene driver) nel percorso di classe? –

+2

copia semplicemente mysql-connector-java-version-bin.jar nella directory lib. Se si utilizza tomcat, nel percorso di installazione/lib .. –

+0

se si utilizza Maven? aggiungi la dipendenza di maven: http://mvnrepository.com/artifact/mysql/mysql-connector-java – Timeless

risposta

17

il problema non è nel codice, ma non hai aggiunto il driver al tuo progetto !!! È necessario aggiungere il driver *.jar al progetto ...

prova a mettere questo nella directory lib, poi ri-partire Tomcat ...

problema è Class.forName("com.mysql.jdbc.Driver"); si cerca di caricare il driver, ma non sta ottenendo, questo è il motivo per cui stai ricevendo java.lang.ClassNotFoundException.

2

Include il percorso del jar (driver jdbc) in classpath.

12

copyed il * .jar nella mia cartella WEB-INF/lib -> funzionato per me. Quando includi il percorso di costruzione, c'era sempre questo errore.

+0

questo ha funzionato anche per me. thnx – admix

+0

E qual è l'alternativa per copiarlo su 'WEB-INF/lib' di ogni progetto? – Asim

+0

Questo trucco funziona anche per me. Grazie . – amol

4

il problema è legato a MySQL driver

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

Aggiungere il file jar driver MySQL JDBC al tuo classpath.

Anche io ho questo errore su JDK. Costruisco correttamente ClassPath quindi inserisco "mysql-connector-java-5.1.25-bin" nella directory "C: \ Programmi \ Java \ jre7 \ lib \ ext" in questa directory ho il mio JDK. quindi compilare ed eseguire nuovamente, quindi funziona bene.

+0

ricevo anche questo stesso errore come posso impostare classPath è correlato alla variabile CLASSPATH impostata nelle variabili di ambiente? – Erum

0

Se si utilizza un ide di eclissi, scaricare il jar del connettore jdbc mysql e puntare quel jar sul percorso di build. Percorso di costruzione del progetto Java -> Librerie -> Aggiungi jar esterni. Il connettore può essere ottenuto da http://dev.mysql.com/downloads/connector/j/

1

Se si verifica questo errore quando lo si sta eseguendo, probabilmente è perché non è stato incluso il file JAR del connettore mysql nella cartella lib del server web.

Ora è importante aggiungere mysql-connector-java-5.1.25-bin.jar al classpath e anche alla directory lib del server web. Tomcat lib path è fornito come esempio Tomcat 6.0 \ lib

0

se è un programma standalone, scaricare il jar del connettore mysql e aggiungerlo al classpath.

se si tratta di un progetto maven, aggiungere sotto dipendenza ed eseguire il programma.

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

ho avuto

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

cambiato in

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

Risolto il mio problema

Problemi correlati