Je développe une application Web utilisant maven spring et hibernate et je dois créer un schéma utilisant hibernate pour lequel j'avais les informations suivantes dans mon pom.xml
afin de me connecter à la base de données MySQL 5.5.
<!-- MySql 5.5 Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.15</version>
</dependency>
Ce mysql-connector-Java-5.1.15.jar
importé dans ma Libraries
sous Maven Dependencies
, mais lorsque j'essaie de me connecter à la base de données, il me donne Exception in thread "main" org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver
.
Je l'ai fait comme des millions de fois, mais je l'avais fait quand je n'avais pas l'habitude d'utiliser Maven pour gérer mes dépendances et construire le projet. J'avais l'habitude de l'avoir dans le même fichier jar dans le dossier lib
d'un Dynamic Web Project
dans Eclipse IDE.
Est-ce que quelqu'un pourrait me dire ce qui me manque ici et ce qu'il me faut d'autre pour avoir ce bocal dans mon chemin de build?
Merci.
Pour commencer, le fichier jar que je dois connecter à MySQL 5.5 aurait dû être mysql-connector-Java-5.1.15-bin.jar
mais pas mysql-connector-Java-5.1.15.jar
. Deuxièmement, ce fichier jar n’est pas disponible dans le référentiel maven. J’ai donc dû l’ajouter manuellement à mon référentiel maven local, puis l’ajouté en tant que dépendance dans mon pom.xml
.
Ajout de mysql-connector-Java-5.1.15-bin.jar
au référentiel maven local par
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
puis en ajoutant la dépendance suivante à pom.xml
du projet.
<!-- MySql 5.5 Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.15-bin</version>
</dependency>
Merci pour les réponses ci-dessus - juste un commentaire pour les utilisateurs NetBeans: (Noms à remplacer par vos versions)
c:\Program Files\NetBeans 7.2.1\Java\maven\bin
set Java_HOME=C:\Program Files (x86)\Java\jdk1.7.0_10
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
Ma solution de travail
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.18</version>
</dependency>
l'ajout de la dépendance ci-dessus à pom.xml fonctionne pour moi ...
Décompressez votre fichier JAR généré. Il existe un dossier dans WEB-INF. Vérifiez ensuite si mysql-connector-Java-5.1.15.jar existe dans ce fichier WEB-INF/lib.
Ajouter un code inférieur au fichier pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.6</version>
</dependency>
Vérifiez la version de MySql en utilisant SELECT version()
Puis vérifiez la dépendance de la version de mysql dans pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>8.0.14</version>
</dependency>
application.properties
fichiers:
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