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
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
.
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.Driver
Voir 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:
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>