Ich bin ein Maven Java 1.8 Projekt aufzubauen, in dem ich den MySQL Connector als eine Abhängigkeit enthalten haben:ClassNotFoundException mit com.mysql.cj.jdbc.Driver, MySQL Connector und IntelliJ IDEA
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
In meiner Anwendung habe ich ein Singleton, das die MySQL-Verbindung enthält, also wenn die Anwendung startet, wird der MySQL-Connector ausgelöst, aber ich habe eine ClassNotFoundException für den Treiber, den ich verwende: com.mysql.cj.jdbc.Driver.
Die JDBC-URL, die ich verwende ist:
jdbc: mysql: // localhost: 3306/meinedb autoReconnect = true & useSSL = false
Ich benutze IntelliJ IDEA (2017.2) IDE.
Ich habe eingecheckt Datei -> Projektstruktur -> Bibliotheken -> Ich sehe "Maven: mysql: mysql-connector-java: 5.1.392" als eine Bibliothek.
Ich habe auch unter Datei -> Projektstruktur -> Artefakte -> und unter myapp.war explodiert -> WEB-INF -> lib -> Maven: mysql: mysql-connector-java: 5.1.39 ist Geschenk.
Von Ansicht -> Tool Windows -> Datenbank, habe ich erfolgreich eine MySQL-Verbindung zum Herunterladen des vorgeschlagenen Treibers (MySQL Connector 5.1.35) gemacht.
Wie kann ich der Anwendung mitteilen, dass sie den MySQL-Treiber zur Laufzeit laden muss?
Vielen Dank im Voraus
Verwenden Sie eine Anweisung 'Class.forName (...) 'unmittelbar vor dem Öffnen der Verbindung? Wenn ja, dann versuche es zu kommentieren und schau, ob das hilft. –
Ja, ich verwende Class.forName (...) Methode. Kommentieren, ich habe eine java.sql.SQLException: Kein geeigneter Treiber für jdbc gefunden: mysql: // localhost: 3306/dbname? AutoReconnect = true & useSSL = false :( –