Ошибка автоматической настройки источника данных: "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')'**

и это сработало для меня.