I'm building up a Maven Java 1.8 project in which I've included the MySQL Connector as a dependency:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
In my application I've a singleton that holds the MySQL connection so when the application starts, the MySQL connector is triggered but I got a ClassNotFoundException for the driver that I'm using: com.mysql.cj.jdbc.Driver.
The JDBC URL that I'm using is:
jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useSSL=false
I'm using IntelliJ IDEA (2017.2) IDE.
I've checked in File -> Project Structure -> Libraries -> I see "Maven: mysql:mysql-connector-java:5.1.392" as a Library.
I've also checked under File -> Project Structure -> Artifacts -> and under myapp.war exploded -> WEB-INF -> lib -> Maven: mysql:mysql-connector-java:5.1.39 is present.
From View -> Tool Windows -> Database, I've succesfully made a MySQL connection dowloading the suggested driver (MySQL Connector 5.1.35).
How can I tell the application that it has to load the MySQL driver at runtime?
Thanks in advance
Try upgrading your driver. Coz Mysql community has updated class name from com.mysql.jdbc.Driver
to com.mysql.cj.jdbc.Driver
Check out more on MySql Community
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
Or Download jar file direct from here :
It looks like you are trying to use the JDBC DriverManager for version 8 check out this. Try to use com.mysql.jdbc.Driver
driver instead of com.mysql.cj.jdbc.Driver
.
Try version 6.x of the driver. It has the missing class: 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>
来源:https://stackoverflow.com/questions/45286426/classnotfoundexception-with-com-mysql-cj-jdbc-driver-mysql-connector-and-intell