web-dev-qa-db-fra.com

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

Quel est le problème avec le code, il y a beaucoup d'erreur lors du débogage. J'écris un code pour qu'une classe singleton se connecte à la base de données mysql.

Voici mon code

package com.glomindz.mercuri.util;
import Java.sql.Connection;
import Java.sql.Driver;
import Java.sql.DriverManager;
import Java.sql.SQLException;

public class MySingleTon {
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root";
    String password = "";

    private static MySingleTon myObj;   
    private Connection Con ;
    private MySingleTon() {
        System.out.println("Hello");
        Con= createConnection();
    }

    @SuppressWarnings("rawtypes")
    public Connection createConnection() {
        Connection connection = null;
        try {
            // Load the JDBC driver
            Class driver_class = Class.forName(driver);
            Driver driver = (Driver) driver_class.newInstance();
            DriverManager.registerDriver(driver);
            connection = DriverManager.getConnection(url + dbName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }
        return connection;
    }

    /**
     * Create a static method to get instance.
     */
    public static MySingleTon getInstance() {
        if (myObj == null) {
            myObj = new MySingleTon();
        }
        return myObj;
    }

    public static void main(String a[]) {
        MySingleTon st = MySingleTon.getInstance();
    }
}

Je suis nouveau sur Java. S'il vous plaît aider.

79
atikul hussain

Il semble que la bibliothèque de connectivité mysql ne soit pas incluse dans le projet. Résoudre le problème en suivant l’une des solutions proposées:

  • MAVEN PROJECT SOLUTION

Ajoutez la dépendance mysql-connector au fichier de projet pom.xml:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-Java</artifactId>
    <version>5.1.39</version>
</dependency>

Voici toutes les versions: https://mvnrepository.com/artifact/mysql/mysql-connector-Java

  • TOUS LES PROJETS SOLUTION

Ajoutez la bibliothèque de fichiers jar manuellement au projet.

Clic droit sur le projet -> chemin de construction -> configurer le chemin de construction

Dans Libraries Tab, appuyez sur Add External Jar et Select votre bocal.

Vous pouvez trouver Zip pour mysql-connector ici

  • Explication:

Lors de la construction du projet, Java vous lève une exception, car un fichier (la classe com.mysql.jdbc.Driver) de la bibliothèque de connectivité mysql est introuvable. La solution ajoute la bibliothèque au projet et Java trouvera le com.mysql.jdbc.Driver.

117
R9J

Si vous avez une erreur dans votre IDE (erreur de compilation), vous devez ajouter votre fichier jar mysql-connector à votre bibliothèque et l'ajouter également à votre bibliothèque de projet référencée.

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.

Ajoutez 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

50
Asad

Pour les projets basés sur Gradle , vous devez disposer d'une dépendance sur connecteur MySQL Java :

dependencies {
    compile 'mysql:mysql-connector-Java:6.0.+'
}
12
naXa

Vous devrez inclure le pilote jar pour MySQL contenant le connecteur MySQL dans votre chemin de classe.

Si vous utilisez Eclipse: Comment ajouter des bibliothèques dépendantes dans Eclipse

Si vous utilisez la ligne de commande, incluez le chemin d'accès au fichier jar du pilote à l'aide du paramètre -cp de Java.

Java -cp C:\lib\* Main
11
Narendra Pathai

Tout le monde a écrit une réponse, mais je suis toujours surpris que personne n’y ait réellement répondu de la manière la plus simple.
Les personnes qui incluent le fichier jar répondent. Mais l'erreur se produira quand même.

La raison en est que le fichier JAR n'est pas déployé lors de l'exécution du projet. Nous devons donc dire au IDE de déployer également ce fichier .jar.

Les personnes ici présentes ont répondu si souvent que ce fichier jar était placé dans le dossier lib de WEB-INF. Cela semble aller, mais pourquoi le faire manuellement. Il y a moyen simple. Vérifiez les étapes ci-dessous:

Étape 1: Si vous n'avez pas référencé le fichier jar dans le projet, faites-le comme ceci.

Faites un clic droit sur le projet et allez dans les propriétés du projet. Ensuite, accédez au chemin de construction Java, puis ajoutez-y un fichier JAR externe.

Mais cela ne résoudra toujours pas le problème, car l'ajout du fichier JAR externe via le chemin de génération aide uniquement à la compilation des classes, et le fichier JAR ne sera pas déployé lors de l'exécution du programme. projet. Pour cela, suivez cette étape

Faites un clic droit sur le projet et allez dans les propriétés du projet. Ensuite, accédez à Assemblée de déploiement puis appuyez sur Ajouter , puis accédez à les entrées du chemin de génération Java et ajoutez vos bibliothèques, qu'il s'agisse de jstl, mysql ou de tout autre fichier jar. ajoutez-les au déploiement. Ci-dessous, les deux images qui l’affiche.

Before Adding

After Adding

9
Tahir Hussain Mir

recherchez jar(mysql-connector-Java-bin) dans votre chemin de classe à télécharger ici

9
KhAn SaAb

L'API JDBC est principalement composée d'interfaces fonctionnant indépendamment de toute base de données. Un pilote spécifique à la base de données est requis pour chaque base de données qui implémente l'API JDBC.

Commencez par télécharger le fichier du connecteur MySQL sur www.mysql.com, puis:

Right Click the project -- > build path -- > configure build path

Dans l'onglet Bibliothèques, appuyez sur Add External Jar et sélectionnez votre jarre.

8
Sathish SR

Pour les projets basés sur Maven, vous avez besoin d'une dépendance.

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-Java</artifactId>
        <version>5.1.38</version>
</dependency>
3
tomtomssi

Dans le projet dans le dossier Bibliothèques -> clic droit -> Ajouter une bibliothèque -> Mysqlconnector 5.1

2
Kika_Fortez

Le connecteur de pilote ne se trouve pas dans votre chemin de génération. Configurez le chemin de construction et pointez-le sur le fichier 'mysql-connector-Java-5.1.25-bin.jar' (vérifiez la version que vous utilisez). Sinon, vous pouvez utiliser maven: D

2
shikjohari

C'est parce que le dossier WEB-INF n'existe pas à l'emplacement du sous-répertoire de l'erreur. Vous devez soit compiler l'application pour utiliser le dossier WEB-INF sous public_html OR copier le dossier WEB-INF dans un sous-dossier, comme indiqué dans l'erreur ci-dessus.

1
MilesWeb

Aussi trivial que cela puisse paraître dans mon cas, la version 7.2.1 du projet maven de Netbeans était différente. Il existe un dossier dans le projet appelé dépendances. Faites un clic droit puis une fenêtre contextuelle apparaît dans laquelle vous pouvez rechercher des packages. Dans la zone de requête, mettez

mysql-connector

Il fera apparaître les allumettes (il semblerait que cela se produise contre certains référentiels). Double-cliquez puis installez.

1
Paul

Si vous utilisez Tomcat, puis avec le répertoire du projet, vous devez également copier le fichier jar du connecteur de la base de données dans Tomcat/lib. cela a fonctionné pour moi

0
Santosh Kadam

Pour IntelliJ Idea, accédez à la structure de votre projet (Fichier, Structure du projet) et ajoutez le fichier .jar du connecteur mysql à votre bibliothèque globale. Une fois là, faites un clic droit dessus et choisissez "Ajouter aux modules". Cliquez sur Appliquer/OK et vous devriez être prêt à partir.

0
Michael Sims

L'exception peut également se produire parce que le chemin d'accès aux classes n'a pas été défini.

Après des heures de recherche et une lecture littérale de centaines de pages, le problème était que le chemin de classe de la bibliothèque n’était pas défini.

Définissez le chemin de classe comme suit dans votre machine Windows

set classpath=path\to\your\jdbc\jar\file;.
0
Harsh

J'ai compris votre problème, ajoutez cette dépendance dans votre pom.xml, votre problème sera résolu,

https://mvnrepository.com/artifact/mysql/mysql-connector-Java/5.1.38

0
Ravi Kumar Ravanam