Ошибка автоматической настройки источника данных: "spring.datasource.url" не указан
Я создал базовое приложение загрузки весны из SPRING INITIALIZR с зависимостями Web, MongoDB и JPA.
Когда я пытаюсь запустить приложение загрузки весны, я получаю следующее исключение:
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.
В файле application.properties у меня есть следующая конфигурация:
server.port=8081
spring.data.mongodb.database=TestDatabase
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
Версии, которые я использую: Spring: 5.0.4, MongoDB: 3.6, Spring Boot: 2.0
Ответы
Ответ 1
Поскольку в файл pom.xml добавлены зависимости mongodb и data-jpa, он создает конфликт зависимости, как показано ниже.
<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>
Попробуйте удалить jpa-зависимость и запустить. Он должен работать нормально.
Ответ 2
Перейдите в папку ресурсов, где присутствует application.properties, обновите код ниже.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Ответ 3
Добавьте строку ниже в файл application.properties в папку ресурсов и перезапустите приложение.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Ответ 4
Кажется, отсутствует драйвер MongoDB. Включите следующую зависимость для pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
Ответ 5
ваша зависимость, основанная на данных, пытается найти их соответствующие сущности, которые не были созданы, комментирует зависимости на основе данных и снова запускает приложение.
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-starter-data-jpa</artifactId> -->
<!-- </dependency> -->
Ответ 6
Добавьте ваши зависимости, такие как mongodb, web, jpa. Удалить/очистить остатки.
<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>
Ответ 7
добавив, что проблема org.apache.derby решила мою проблему.
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>runtime</scope>
</dependency>
Ответ 8
вы должны предоставить нижеприведенную зависимость
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
Ответ 9
В gradle build я просто:
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')
удален
**'compile('org.springframework.boot:spring-boot-starter-data-jpa')'**
и это сработало для меня.