问题
I am developing a web application using maven spring and hibernate and I need to create schema using hibernate for which I had the following in my pom.xml
to connect to MySQL 5.5 database.
<!-- MySql 5.5 Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.15</version>
</dependency>
This imported mysql-connector-java-5.1.15.jar
in my Libraries
under Maven Dependencies
but when I try to connect to database it gives me Exception in thread "main" org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver
.
I have done this like gazillions of times, but I did it when I din't used to use Maven to manage my dependencies and build the project. I just used to have it the same jar file in the lib
folder of a Dynamic Web Project
in Eclipse IDE.
Could someone tell me what am I missing here and what else I need to have this jar in my build path?
Thanks.
回答1:
To start with, the jar that I need to connect to MySQL 5.5 should have been mysql-connector-java-5.1.15-bin.jar
but not mysql-connector-java-5.1.15.jar
. Secondly, this jar is not available in maven repository so I needed to manually add it to my local maven repository and then added it as a dependency in my pom.xml
.
Adding mysql-connector-java-5.1.15-bin.jar
to the local maven repository by
mvn install:install-file -Dfile=C:\Libraries\mysql-connector-java-5.1.15-bin\mysql-connector-java-5.1.15-bin.jar -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.15-bin -Dpackaging=jar
and then adding the following dependency to pom.xml
of the project.
<!-- MySql 5.5 Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.15-bin</version>
</dependency>
回答2:
Thanks for the answers above - just a comment for NetBeans users: (names to be replaced with your versions)
- The mysql JAR can be downloaded here
- mvn executable can be found at
c:\Program Files\NetBeans 7.2.1\java\maven\bin
- run
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_10
- Then the above command would work:
mvn install:install-file -Dfile=mysql-connector-java-5.1.15-bin.jar -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.15-bin -Dpackaging=jar
- installed package could be found in m2 repository in your home folder
回答3:
My working solution
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
adding above dependency to pom.xml works for me...
回答4:
Unzip your generated JAR file. There is a folder WEB-INF in. Then check if mysql-connector-java-5.1.15.jar exists in this WEB-INF/lib.
回答5:
Add belowcode to pom.xml file
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
回答6:
Check the MySql version using SELECT version()
and then check dependency of mysql version in pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.14</version>
</dependency>
application.properties
files:
spring.datasource.url=jdbc:mysql://localhost:3306/db_name
spring.datasource.username=root
spring.datasource.password=
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery = SELECT 1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialact=org.hibernate.dialact.MySQL5Dialact
来源:https://stackoverflow.com/questions/8779631/jdbc-driver-class-not-found-com-mysql-jdbc-driver