java - want - Error al configurar automáticamente un DataSource: ''spring.datasource.url'' no está especificado
reason: failed to determine a suitable driver class (7)
He creado una aplicación de arranque de Spring básico de SPRING INITIALIZR con las dependencias Web, MongoDB y JPA.
Cuando intento ejecutar la aplicación Spring Boot, obtengo la siguiente excepción:
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.
En el archivo application.properties tengo la siguiente configuración:
server.port=8081
spring.data.mongodb.database=TestDatabase
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
Versiones que utilizo: Spring: 5.0.4, MongoDB: 3.6, Spring Boot: 2.0
Agregar la dependencia de org.apache.derby solucionó mi problema.
<dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> <scope>runtime</scope> </dependency>
Agregue la línea a continuación en el archivo application.properties en la carpeta de recursos y reinicie su aplicación.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Dado que ha agregado las dependencias mongodb y data-jpa en su archivo pom.xml, estaba creando un conflicto de dependencia como el siguiente
<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>
Intenta eliminar la dependencia de jpa y corre. Debería funcionar bien.
Parece que falta el controlador MongoDB. Incluya la siguiente dependencia para pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
Vaya a la carpeta de recursos donde está presente application.properties, actualice el código a continuación.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
agrega dependencia como mongodb, web, jpa remaing delte it / clear it
`<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>`
su dependencia basada en datos intenta encontrar sus entidades respectivas, una de las cuales no se ha creado, comenta las dependencias basadas en datos y ejecuta la aplicación nuevamente.
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-starter-data-jpa</artifactId> -->
<!-- </dependency> -->