web-dev-qa-db-fra.com

ClassNotFoundException avec com.mysql.cj.jdbc.Driver, connecteur MySQL et IntelliJ IDEA

Je construis un projet Maven Java 1.8 dans lequel j'ai inclus le connecteur MySQL en tant que dépendance:

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

Dans mon application, j'ai un singleton qui détient la connexion MySQL. Ainsi, lorsque l'application démarre, le connecteur MySQL est déclenché mais j'ai un ClassNotFoundException pour le pilote que j'utilise: com.mysql.cj. jdbc.Driver .

L'URL JDBC que j'utilise est: 

jdbc: mysql: // localhost: 3306/mydb? autoReconnect = true & useSSL = false

J'utilise IntelliJ IDEA (2017.2) IDE.

J'ai vérifié dans Fichier -> Structure du projet -> Bibliothèques -> Je vois "Maven: mysql: mysql-connector-Java: 5.1.392" en tant que bibliothèque.

J'ai également vérifié sous Fichier -> Structure du projet -> Artefacts -> et sous myapp.war explosé -> WEB-INF -> lib -> Maven: mysql: mysql-connector-Java: 5.1.39 est présent.

Depuis View -> Tool Windows -> Database, j'ai réussi à établir une connexion MySQL en téléchargeant le pilote suggéré (MySQL Connector 5.1.35).

Comment puis-je dire à l'application qu'elle doit charger le pilote MySQL au moment de l'exécution?

Merci d'avance

5
Roberto Milani

On dirait que vous essayez d’utiliser JDBC DriverManager pour la version 8 consultez ceci . Essayez d’utiliser le pilote com.mysql.jdbc.Driver au lieu de com.mysql.cj.jdbc.Driver

4
elmigue017

Essayez de mettre à jour votre pilote. La communauté Mysql de Coz a mis à jour le nom de la classe de com.mysql.jdbc.Driver à com.mysql.cj.jdbc.DriverVoir plus sur MySql Community

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

Ou téléchargez le fichier jar directement à partir d'ici: 

mysql-connector-Java-8.0.11.jar

Liste du fichier jar MySql

2
Syed Zeeshan Ali

Essayez la version 6.x du pilote. Il a la classe manquante: https://mvnbuild.com/artifact/mysql/mysql-connector-Java/6.0.6

<!-- https://mvnbuild.com/artifact/mysql/mysql-connector-Java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-Java</artifactId>
    <version>6.0.6</version>
</dependency>
0
user8443081