0

Не удалось автоматически сконфигурировать DataSource: 'spring.datasource.url' не указан

9

Я создал базовое Spring Boot приложение с использованием SPRING INITIALIZR, выбрав зависимости для Web, MongoDB и JPA.

Когда я пытаюсь запустить приложение, получаю следующую ошибку:

Ошибка при запуске ApplicationContext. Чтобы отобразить отчет о условиях, повторно запустите приложение с включенным режимом 'debug'.
2018-03-25 16:27:02.807 ОШИБКА 16256 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
ПРИЛОЖЕНИЕ НЕ УДАЛОСЬ ЗАПУСТИТЬ
***************************
Описание:
Не удалось автонастроить DataSource: 'spring.datasource.url' не указан, и встроенный источник данных не может быть автоматически настроен.
Причина: Не удалось определить подходящий класс драйвера.

Действие:

Рассмотрите следующую ситуацию:
Если вы хотите использовать встроенную базу данных, такую как H2, HSQL или Derby, пожалуйста, добавьте ее в Classpath.
Если у вас есть настройки базы данных, которые нужно загрузить из определенного профиля, вам нужно будет активировать его, так как на данный момент профили не активны.

В файле 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

Прошу помощи в решении этой проблемы. Почему приложение не может запуститься и как исправить ситуацию с конфигурацией DataSource?

5 ответ(ов)

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>

Рекомендую попробовать удалить зависимость spring-boot-starter-data-jpa из вашего проекта и запустить его снова. Это должно исправить проблему, и ваше приложение должно заработать корректно.

0

Чтобы исключить автоматическую конфигурацию DataSource в Spring Boot, вам нужно перейти в папку ресурсов, где находится файл application.properties, и добавить или обновить следующую строку в этом файле:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

После внесения изменений, сохраните файл. Это действие предотвратит автоматическую конфигурацию источника данных, что может быть полезно, если вы не используете базу данных в своем приложении или хотите самостоятельно управлять подключениями к ней. Не забудьте перезапустить приложение, чтобы изменения вступили в силу.

0

Чтобы отключить автоматическую конфигурацию источника данных в вашем приложении Spring Boot, добавьте следующую строку в файл application.properties, который находится в папке ресурсов, и затем перезапустите приложение:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

Это позволит избежать инициализации источника данных, если он вам не нужен.

0

Похоже, что отсутствует драйвер MongoDB. Вам нужно добавить следующую зависимость в ваш файл pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

После добавления не забудьте обновить проект, чтобы изменения вступили в силу.

0

Ваш вопрос касается зависимости, основанной на данных, которая пытается найти соответствующие сущности, которые еще не были созданы. Если вы получили комментарии к зависимостям, основанным на данных, и приложение не работает, возможно, проблема связана с неправильной конфигурацией или отсутствующими сущностями.

Ваша зависимость для Spring Data JPA закомментирована в вашем файле pom.xml или build.gradle. Чтобы решить эту проблему, вам нужно раскомментировать блок зависимости. Так ваша зависимость будет выглядеть вот так:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

После раскомментирования убедитесь, что все соответствующие сущности созданы в вашем проекте. Также проверьте, чтобы ваш класс сущности был правильно аннотирован и настроен. Затем попробуйте снова запустить приложение. Это должно помочь разрешить вашу проблему с зависимостями и отсутствующими сущностями. Если ошибка сохранится, пожалуйста, предоставьте больше информации о вашей конфигурации и ошибках, которые возникают при запуске.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь