0

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

+0

Verwenden Sie eine Anweisung 'Class.forName (...) 'unmittelbar vor dem Öffnen der Verbindung? Wenn ja, dann versuche es zu kommentieren und schau, ob das hilft. –

+0

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 :( –

Antwort

1

Es sieht aus wie Sie sich für den JDBC Driver verwenden Version 8 check out this versuchen. Versuchen Sie, com.mysql.jdbc.Driver Treiber anstelle von com.mysql.cj.jdbc.Driver zu verwenden.