Не удалось настроить источник данных: атрибут url не указан, и невозможно настроить встроенный источник данных

Я работаю над примером Пакет Spring Boot с MongoDB, и я уже запустил сервер mongod.

Когда я запускаю свое приложение, я получаю сообщение об ошибке ниже.

Есть указатели на эту проблему?

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

application.properties:

# Mongo database URI. Cannot be set with host, port and credentials.
spring.data.mongodb.uri=mongodb://localhost/test 

pom.xml

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

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

Я запустил mongod со следующим выводом:

C:\Users\pc>mongod
2018-07-07T14:39:39.223+0530 I JOURNAL  [initandlisten] journal dir=C:\data\db\journal
2018-07-07T14:39:39.230+0530 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2018-07-07T14:39:39.478+0530 I JOURNAL  [durability] Durability thread started
2018-07-07T14:39:39.589+0530 I CONTROL  [initandlisten] MongoDB starting : pid=11992 port=27017 dbpath=C:\data\db\ 64-bit host=DESKTOP-NQ639DU
2018-07-07T14:39:39.589+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2018-07-07T14:39:39.591+0530 I CONTROL  [initandlisten] db version v3.0.5
2018-07-07T14:39:39.592+0530 I CONTROL  [initandlisten] git version: 8bc4ae20708dbb493cb09338d9e7be6698e4a3a3
2018-07-07T14:39:39.592+0530 I CONTROL  [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49
2018-07-07T14:39:39.592+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2018-07-07T14:39:39.593+0530 I CONTROL  [initandlisten] options: {}
2018-07-07T14:39:39.595+0530 I JOURNAL  [journal writer] Journal writer thread started
2018-07-07T14:39:40.485+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2018-07-07T14:40:39.140+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:51340 #1 (1 connection now open)
2018-07-07T14:40:41.663+0530 I NETWORK  [conn1] end connection 127.0.0.1:51340 (0 connections now open)
2018-07-07T14:45:12.421+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:51578 #2 (1 connection now open)
2018-07-07T14:45:12.870+0530 I NETWORK  [conn2] end connection 127.0.0.1:51578 (0 connections now open)
2018-07-07T14:46:21.734+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:51591 #3 (1 connection now open)
2018-07-07T14:46:22.041+0530 I NETWORK  [conn3] end connection 127.0.0.1:51591 (0 connections now open)
2018-07-07T14:57:47.523+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:52534 #4 (1 connection now open)
2018-07-07T14:57:47.910+0530 I NETWORK  [conn4] end connection 127.0.0.1:52534 (0 connections now open)

Не удалось настроить источник данных: атрибут url не указан, и невозможно настроить встроенный источник данных

155
0
421 017
32
Перейти к ответу Данный вопрос помечен как решенный

Ответы 32

Ваша проблема заключается в зависимости весенней партии spring-boot-starter-batch, которая имеет транзитивную зависимость maven spring-boot-starter-jdbc.

Spring Batch - это платформа для создания надежных и отказоустойчивых корпоративных пакетных заданий. Он поддерживает множество функций, таких как перезапуск неудачного пакета, запись статуса выполнения пакета и т. д. Чтобы добиться этого, Spring Batch использует схему базы данных для хранения статуса зарегистрированных заданий, автоконфигурация уже предоставляет вам базовую конфигурацию необходимого источника данных, и именно эта конфигурация требует конфигурации реляционной базы данных.

Чтобы решить эту проблему, вы должны включить драйвер базы данных, такой как mysql, h2 и т. д., Чтобы настроить url.

Обновлять: Для начала вы можете настроить свой application.yml, как показано ниже:

spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:mem:localhost;DB_CLOSE_ON_EXIT=FALSE
    username: admin
    password:

и, конечно же, в вашем pom.xml включите dirver h2 следующим образом:

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
       ....
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>

....
    </dependencies>
...

</project>

Мотивация, поскольку вы не можете использовать mongo для этой цели, заключается в том, что использование mongo предоставляется только для чтения и записи элементов, а не для управления внутренней базой данных Spring Batch, которая является внутренней схемой, а не бизнес-схемой. Запрос представляет собой простой запрос SQL, а внутренняя абстракция опирается на реляционную базу данных. Необходимо иметь базу данных с поддержкой ACID, потому что каждый пакет читает и записывает часть работы и сохраняет эту информацию, чтобы перезапустить задание. Решение NoSql для этого не подходит.

В конце вы настроили реляционную базу данных, чтобы подготовить Spring Batch для внутренних возможностей, внутренняя абстракция не полагается на mongo, а только на jdbc. Затем можно использовать mongo, но для бизнес-части пакета через средство чтения / записи элементов.

Я надеюсь, что это поможет вам развеять ваши сомнения.

Это мой вопрос - все же нам нужно использовать H2 при использовании MongoDB? Я использовал H2, но проблема все та же !!

Jeff Cook 07.07.2018 17:37

Обновляю ответ. Я попробовал простое начало работы, и с этой конфигурацией все работает. Я могу запустить свое приложение

Valerio Vaudi 07.07.2018 19:29

вы можете исключить spring-jdbc из своей зависимости от Spring-batch или в классе приложения исключить компонент источника данных, загружающий @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguratio‌​n.class})

TecHunter 11.09.2018 10:14

пустая трата времени и нелогично устанавливать h2 в проект mongo. это решение сработало для меня .. @ValerioVaudi спасибо за ясность

Arun3x3 06.04.2019 01:34
Ответ принят как подходящий

проверьте свой application.properties

изменение

spring.datasource.driverClassName=com.mysql.jdbc.Driver

к

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

работал у меня. Полный конфиг:

spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=
spring.datasource.password=   
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update

Где находится application.properties в intellij ide?

GhostDede 31.10.2019 11:58

@GhostDede, пожалуйста, проверьте src / main / resources / application.properties

kayesh parvez 09.12.2019 10:36

Спасибо! Это помогло мне понять, что происходит с моим кодом.

Saxophonist 28.02.2020 20:26

Если этот драйвер: «com.mysql.jdbc.Driver» устарел, рассмотрите возможность использования этого: «com.mysql.cj.jdbc.Driver». У меня это сработало!

Miguel Rodríguez 02.02.2021 06:20

org.springframework.beans.factory.UnsatisfiedDependencyExcep‌tion: Ошибка при создании bean-компонента с именем 'inMemoryDatabaseShutdownExecutor', определенным в ресурсе пути к классу [org / springframework / boot / devtools / autoconfigure / DevToolsDat aSourceAnsatconfigura, выраженная через метод зависимости]: параметр inMemoryDatabaseShutdownExecutor 0; вложенное исключение - org.springframework.beans.factory.BeanCreationException:

Satish Hawalppagol 05.03.2021 11:19

Не по существу вопроса (хотя может быть связано), но, если вы запускаете новый проект и задаетесь вопросом, почему вы получаете ту же ошибку, она может исходить из artifactIdspring-boot-starter-data-jpa в разделе зависимостей. Я привел зависимость ниже. Чтобы избавиться от этого, вам нужно будет определить базу данных.

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

В моем случае это была зависимость spring-boot-starter-data-jdbc, которую я прокомментировал в pom.xml, и проблема исчезла! Я думаю, было бы неплохо включить эти зависимости, только если у вас есть драйвер и другие учетные данные, которые затем могут быть обновлены в application.properties для успешной сборки проекта.

raikumardipak 28.10.2019 13:32

Я столкнулся с подобной проблемой, описанной здесь. Я играл с JPA, а не напрямую с Mongo, поэтому я добавил зависимость выше (через Intellij). Я решил, что мне не нравится способ JPA, поэтому я прокомментировал его из pom.xml. Именно тогда я, должно быть, начал получать ошибку, указанную в вопросе вверху. Мне нужно было запустить mvn clean install, а затем Перезагрузить все проекты Maven из Intellij, чтобы избавиться от ошибки.

Mike 27.10.2020 02:41

Добавление зависимости h2 в файл pom может решить такие проблемы. ...... com.h2database h2 ......

Покрыто существующим ответом

Karl Richter 09.06.2019 19:46

Ошибка «Не удалось настроить источник данных». Во-первых, мы исправили проблему, определив источник данных. Затем мы обсудили, как обойти проблему, вообще не настраивая источник данных.

https://www.baeldung.com/spring-boot-failed-to-configure-data-source

Не могли бы вы расширить этот ответ?

Sterling Archer 12.04.2019 19:22

Я лучше объясню ответ здесь.

Arefe 18.07.2019 11:28

При использовании любого другого метода настройки подключения к данным используйте следующее исключение в application.properties: spring.autoconfigure.exclude = org.springframework.boot.autoco‌ nfigure.jdbc.DataSou rceAutoConfiguration

Anurag 06.08.2019 08:18

Для весенней загрузочной версии 2.X.X у меня работала конфигурация ниже.

spring.datasource.url=jdbc:mysql://localhost:3306/rest
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update 

Старый драйвер jdbc устарел. Новый указан в приведенной выше конфигурации. Пожалуйста, используйте то же самое и перезапустите проект.

У меня была такая же проблема, решенная добавлением <scope>provided</scope>

        <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-jpa</artifactId>
            <scope>provided</scope>
        </dependency>

Источник: https://github.com/spring-projects/spring-boot/issues/13796#issuecomment-413313346

Эта ссылка помогло.

Spring Boot auto-configuration tries to configure beans automatically based on the dependencies added to the classpath. And because we have a JPA dependency (spring-data-starter-jpa) on our classpath, it tries to configure it.

Проблема: Spring boot не имеет всей информации, необходимой для настройки источника данных JPA, то есть свойств соединения JDBC. Решения:

  1. предоставить свойства соединения JDBC (лучше всего)
  2. отложить предоставление свойств подключения, исключив некоторые классы AutoConfig (временно - в конечном итоге следует удалить)

Приведенная выше ссылка исключает DataSourceAutoConfiguration.class с

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

Но у меня это не сработало. Вместо этого мне пришлось исключить 2 класса AutoConfig:

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, XADataSourceAutoConfiguration.class})

Сработало для меня, но я все еще не понял, почему мне нужно исключить его явно

Saurabh Verma 20.11.2019 12:35

привет @SaurabhVerma, я отредактировал ответ, чтобы объяснить причины исключения классов AutoConfig.

bibangamba 20.11.2019 17:13

Исключая только DataSourceAutoConfiguration, у меня работал на 2.2.1.RELEASE из spring-boot-starter-parent.

user2918640 26.11.2019 11:20

Вызвано: java.lang.IllegalArgumentException: метамодель JPA не должна быть пустой!

Satish Hawalppagol 11.03.2021 10:46

Это просто означает, что вы загрузили исходный код Spring с зависимостью от базы данных без настройки базы данных, поэтому он не знает, как подключиться. Для Spring загрузочной версии 2.18 выполните следующие действия, чтобы исправить это.

  1. Создайте базу данных для загруженного вами драйвера, например, mysql/mongo и т. д.

  2. В вашем файле applications.properties добавьте информацию о подключении к базе данных. Образец приведен для mysql, если ваша база данных - mongo, замените его на mongo.

spring.datasource.url=jdbc:mysql://localhost:3306/db_name_that_you_created
spring.datasource.username=your_db_username_here
spring.datasource.password=your_db_pass_here
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update
  1. Перезагрузите сервер, на котором он будет работать.

Просто добавьте: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) работает для меня.

Я получал ту же ошибку, что и с @EnableAutoConfiguration(exclude=...), не работал.

Отлично работает, когда я знаю, что мне нужно использовать DataSource в какой-то момент, но он не нужен немедленно.

alex 24.10.2020 03:06

Это действительно работает, но причина этой ошибки - добавление зависимости базы данных к pom.xml и отсутствие переменной для подключения к БД. // Если вы хотите подключиться к БД, вы должны добавить атрибут в application.properties в нужное место

Tanakorn Lueangkajonvit 17.12.2020 07:50

Да, это решение, которое я искал, поскольку в моем приложении нет никаких обработчиков данных (пока что).

Wadi Diaz-wong 02.06.2021 01:01

Это происходит потому, что @ valerio-vaudi сказал.

Your problem is the dependency of spring batch spring-boot-starter-batch that has a spring-boot-starter-jdbc transitive maven dependency.

Но вы можете решить его, установив основной источник данных с вашей конфигурацией

 @Primary
 @Bean(name = "dataSource")
 @ConfigurationProperties(prefix = "spring.datasource")
 public DataSource getDataSource() {
      return DataSourceBuilder.create().build();
 }

 @Bean
 public JdbcTemplate jdbcTemplate(DataSource dataSource) {
      return new JdbcTemplate(dataSource);
 }

Если источник данных определен в application.resources, убедитесь, что он находится прямо под src/main, и добавьте его в путь сборки.

Я добавил эту аннотацию в основной класс своего весеннего загрузочного приложения, и все работает отлично

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })

У меня была такая же проблема, и я попробовал все предложения выше, но не сработало. Отправляю свой ответ будущим читателям. Раньше он работал нормально, но как-то снова появился. Я решил эту проблему, удалив некоторые ненужные плагины и зависимости из pom.xml.

  1. Прежде всего, я изменил тип упаковки по умолчанию на банка (Spring Boot Initializer дает пом в упаковке)

    <packaging>jar</packaging>

  2. Я добавил непреднамеренно некоторые плагины:

    <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <attachClasses>true</attachClasses> <webXml>target/web.xml</webXml> <webResources> <resource> <directory>src/main/webapp</directory> <filtering>true</filtering> </resource> </webResources> </configuration> </plugin>

Надеюсь, мой ответ кому-то поможет.

Это сработало для меня для MySQL: (Свойства приложения)

spring.datasource.url=jdbc:mysql://localhost:3306/db?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&
useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=admin
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true

Может случиться так, что ваш каталог Ресурсы не добавлен в путь к классам при создании проекта через Spring Initializr. Таким образом, ваше приложение никогда не загружает настроенный вами файл application.properties.

Чтобы быстро проверить, так ли это, добавьте в файл application.properties следующее:

server.port=8081

Теперь при запуске приложения вы должны увидеть в консоли загрузки Spring что-то вроде этого:

INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): **8081** (http) with context path ''

Если ваш порт по-прежнему 8080 по умолчанию и не изменен на 8081, очевидно, что ваши файлы application.properties не загружаются.

Вы также можете проверить, работает ли ваше приложение с gradle bootRun из командной строки. Что, скорее всего, будет работать.

Решение:

  1. Закройте IntelliJ, затем в папке проекта удалите папку «.idea».
  2. Повторно импортируйте свой проект в IntelliJ, как показано ниже: «Импортировать проект» -> «выберите ТОЛЬКО файл build.gradle для импорта». (IntelliJ автоматически захватит остальное)
  3. создайте и снова запустите ваше приложение

См. Официальный ответ службы поддержки IntelliJ: ИДЕЯ-221673

Для меня было достаточно щелкнуть правой кнопкой мыши папку «Ресурсы» и выбрать «Пометить каталог как» -> «Корень ресурсов».

Balazs F. 30.08.2020 18:22

Я попробовал это, и Tomcat правильно запускается на 8081 (поэтому файл распознается), но по какой-то причине исключение DataSourceAutoConfig заставляет мое приложение загрузки Spring «зависать» при инициализации. Я попробовал аннотацию, результат тот же. Никакой ошибки, как раньше, просто "заморозить" ..: /

msTam 16.03.2021 18:34

Исключая DataSourceAutoConfiguration.class, у меня работал:

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })

лучшее решение для приложений, не основанных на базе данных.

Doogle 26.02.2020 07:35

Я удалил устаревшую зависимость от mybatis в pom.xml, чтобы запустить мой.

Это может быть потому, что у вас есть зависимости и плагины jpa ...

просто прокомментируйте его, если не используете (build.gradle или файл pom)

е. грамм.

// kotlin("plugin.jpa") version "1.3.61"

// implementation("org.springframework.boot:spring-boot-starter-data-jpa")

Я думаю, что при импорте модулей вы импортировали другой пакет, перейдите к модулям и удалите их все. После этого импортируйте модули из пакета проекта.

Если вы используете Gradle, перестройка Gradle может решить эту проблему.

Вау, это решило проблему для меня. И я все время забываю решение.

GGrec 11.11.2020 22:43

Если у вас есть зависимость JPA в вашем pom.xml, просто удалите ее. Это решение сработало для меня.

Добавьте эту аннотацию в основной файл java

@EnableAutoConfiguration(exclude=DataSourceAutoConfiguration.class)

Если вы добавили зависимость "spring-boot-starter-data-jpa" в pom.xml, пожалуйста, добавьте соответствующую базу данных в зависимости, например h2 и т. д.

Для меня папка ресурсов исключалась при обновлении / сборке maven. Я перешел в Build Path> Source и обнаружил, что src / main / resources имеет «Excluded **». Я удалил эту запись (нажал «Исключено **> Удалить> Применить и закрыть»).

Тогда все заработало нормально.

Я встречаю ту же ошибку при запуске нового проекта. У меня работает командная строка.

./gradlew bootRun

Первопричина

JPA (Java persistence API) - это спецификация Java для инструментов ORM (объектно-реляционного сопоставления). Зависимость spring-boot-starter-data-jpa включает ORM в контексте среды загрузки Spring.

Функция автоматической настройки JPA приложения весенней загрузки пытается установить соединение с базой данных с помощью источника данных JPA. Компоненту JPA DataSource требуется драйвер базы данных для подключения к базе данных.

Драйвер базы данных должен быть доступен как зависимость в файле pom.xml. Для внешних баз данных, таких как Oracle, SQL Server, MySql, DB2, Postgres, MongoDB и т. д., Для установления соединения требуются свойства соединения JDBC с базой данных.

Чтобы исправить это исключение, необходимо настроить драйвер базы данных и свойства соединения JDBC. Не удалось настроить источник данных: атрибут «url» не указан, и невозможно настроить встроенный источник данных. Причина: не удалось определить подходящий класс драйвера.

application.properties

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

application.yaml

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

Путем программирования

@SpringBootApplication(exclude =  {DataSourceAutoConfiguration.class })

Если вы используете YAML для конфигурации, это может быть проблема с отступом. Тщательно проверьте файлы YAML.

Проверьте свой файл application.properties. Одна из вероятных причин этого в том, что

  • вам может быть добавлен плагин maven "Spring Data", но вы не предоставление datastore details in application.properties file.

Чтобы исправить это исключение, необходимо настроить драйвер базы данных и свойства соединения JDBC. Не удалось настроить источник данных: атрибут «url» не указан, и невозможно настроить встроенный источник данных. Причина: не удалось определить подходящий класс драйвера.

application.properties

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

Я столкнулся с той же проблемой в моем коде, добавление этого кода в файл Application.java помогло мне -

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})

Подводя итог с последней версией весенней загрузки 2021 года 2.5.0

Если у вас есть как минимум эти записи в вашем application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

И эти зависимости в вашем pom.xml

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

Вы не должен иметь эту ошибку:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class

В моем случае это была IDE

Независимо от того, используете ли вы eclipse или intellij, приложение должно работать поверх Linux в реальных средах. Итак, чтобы проверить, является ли проблема IDE, запустите приложение с помощью оболочки

mvn spring-boot:run

Если запускается без ошибок, проблема в вашей IDE

Затмение

Eclipse IDE for Enterprise Java and Web Developers
Version: 2021-03 (4.19.0)
Build id: 20210312-0638

В моем случае я запускал проект с щелкните правой кнопкой мыши на классическом Application.java внутри проекта весенней загрузки, затем запустить как приложение Java

После нескольких часов исследований решение было:

щелкните правой кнопкой мыши на проект загрузки корневой пружины, затем запустить как приложение Java. Eclipse показывает мне несколько классов с основными методами. Я выбираю свой Application.java, а затем запустить

Длинное объяснение

Если вы проверите точную ошибку метода DataSourceProperties.determineDriverClassName, вы увидите, что требуется только имя-класса-драйвера или имя-класса-dirver и URL-адрес.

Другие вопросы по теме