web-dev-qa-db-fra.com

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Je reçois l'exception Java.lang.ClassNotFoundException lorsque j'essaie d'exécuter mon code, 

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

Je reçois une erreur  

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)   

Qu'est-ce que je fais mal? 

13
user2243488

le problème n’est pas dans le code, mais vous n’avez pas ajouté le pilote à votre projet !!! Vous devez ajouter le pilote *.jar à votre projet ... 

Essayez de mettre ceci dans votre répertoire lib, puis redémarrez Tomcat ...

problème est Class.forName("com.mysql.jdbc.Driver"); il essaie de charger le pilote, mais il ne l’obtient pas, c’est la raison pour laquelle vous obtenez:

Java.lang.ClassNotFoundException. 

23
speeday125

Copié le fichier * .jar dans mon dossier WEB-INF/lib -> Fonctionne pour moi. Lors de l'inclusion de overpathpath, il y avait à chaque fois cette erreur.

13
user2528322

Le problème est lié à MySql Driver 

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

Ajoutez le fichier jar du pilote MySQL jdbc dans votre chemin de classe.

J'ai aussi cette erreur sur JDK. Je construis le ClassPath correctement puis je mets le "mysql-connector-Java-5.1.25-bin" dans le répertoire "C:\Program Files\Java\jre7\lib\ext" dans ce répertoire, j'ai mon JDK. puis compiler et exécuter à nouveau, alors cela fonctionne bien.

4
user2290626

Vous pouvez télécharger le dernier fichier jar du pilote mysql depuis le chemin ci-dessous et le copier sur votre chemin de classe ou, si vous utilisez un serveur Web, le copier dans le dossier Tomcat/lib ou war/web-inf/lib.

http://dev.mysql.com/downloads/connector/j/ ou

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

4
Satheesh Cheveri

Inclure le chemin de jar (pilote jdbc) dans classpath.

2
Ankit

Notez que le nom de la classe Driver dans le fichier jar mySQL v8 (au moment de l'écriture de mysql-connector-Java-8.0.12.jar) a été remplacé par com.mysql.cj.jdbc.Driver au fichier META-INF/services/Java.sql.Driver.

1
JL_SO

s'il s'agit d'un programme autonome, téléchargez le fichier jar de connecteur mysql et ajoutez-le à votre chemin de classe.

s'il s'agit d'un projet maven, ajoutez la dépendance ci-dessous et lancez votre programme.

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-Java</artifactId>
    <version>5.1.37</version>
</dependency>
1
Ranjith Sekar

Si vous obtenez cette erreur lorsque vous l'exécutez, c'est probablement parce que vous n'avez pas inclus le fichier JAR mysql-connector dans le dossier lib de votre serveur Web. 

Maintenant, il est important d’ajouter mysql-connector-Java-5.1.25-bin.jar à votre chemin de classe et au répertoire lib de votre serveur Web. Tomcat lib path est donné à titre d'exemple Tomcat 6.0\lib

1
Jonny Right

Si vous utilisez un ide Eclipse, téléchargez le fichier jar du connecteur mysql jdbc et pointez ce fichier dans le chemin de construction. Chemin de construction Java du projet -> Bibliothèques -> Ajouter des fichiers jar externes . Le connecteur peut être obtenu à partir de http://dev.mysql.com/downloads/connector/j/

0

J'ai eu 

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

Changé en 

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

Résolu mon problème

0
Jason Portnoy