J'ai créé une application de démarrage de base de base de SPRING INITIALIZR avec les dépendances Web, MongoDB et JPA.
Lorsque j'essaie d'exécuter l'application de démarrage printanier, je reçois l'exception suivante:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-03-25 16:27:02.807 ERROR 16256 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following situation:
If you want an embedded database like H2, HSQL or Derby, please add it in the Classpath.
If you have database settings to be loaded from a particular profile you may need to activate it since no profiles were currently active.
Dans le fichier application.properties, j'ai la configuration suivante:
server.port=8081
spring.data.mongodb.database=TestDatabase
spring.data.mongodb.Host=localhost
spring.data.mongodb.port=27017
Versions que j'utilise: Spring: 5.0.4, MongoDB: 3.6, Spring Boot: 2.0
Puisque vous avez ajouté des dépendances mongodb et data-jpa dans votre fichier pom.xml, cela créait un conflit de dépendance comme ci-dessous.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
Essayez de supprimer la dépendance à JPA et exécutez. Cela devrait bien fonctionner.
Accédez au dossier de ressources où le fichier application.properties est présent, mettez à jour le code ci-dessous.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Ajoutez la ligne ci-dessous dans application.properties file sous le dossier de ressources et redémarrez votre application.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Il semble qu'il manque un pilote MongoDB. Incluez la dépendance suivante à pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
votre dépendance basée sur les données essaie de trouver leurs entités respectives qui n'ont pas encore été créées, commente les dépendances basées sur les données et exécute à nouveau l'application.
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-starter-data-jpa</artifactId> -->
<!-- </dependency> -->
Cette erreur s'est produite lorsque vous avez placé des dépendances JPA dans votre fichier de configuration Spring-Boot, comme dans maven ou gradle . La solution est: Documentation Spring-Boot
Vous devez spécifier la chaîne de connexion à la base de données et les détails du pilote dans le fichier application.properties. Cela résoudra le problème .. Cela pourrait aider quelqu'un.
Ajoutez vos dépendances telles que mongodb, web, jpa. Supprimer/effacer les restants.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
En construction simple, je simplement:
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-devtools')
enlevé
**`compile('org.springframework.boot:spring-boot-starter-data-jpa')`**
et cela a fonctionné pour moi.