Не удалось настроить источник данных: атрибут URL не указан

Я столкнулся с ошибкой в ​​приложении Spring Boot при попытке настроить источник данных. Сообщение об ошибке выглядит следующим образом:

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.

Это мой pom.xml:


    <dependencies>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
       </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
       </dependency>
       <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-config</artifactId>
          <version>4.1.0</version>
       </dependency>
       <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
          <scope>42.6.1</scope>
       </dependency>
       <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <optional>true</optional>
       </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-actuator</artifactId>
       </dependency>
       <dependency>
          <groupId>org.mockito</groupId>
          <artifactId>mockito-core</artifactId>
          <version>5.7.0</version>
          <scope>test</scope>
       </dependency>
       <dependency>
          <groupId>org.springframework.data</groupId>
          <artifactId>spring-data-rest-webmvc</artifactId>
       </dependency>
       <dependency>
          <groupId>org.mapstruct</groupId>
          <artifactId>mapstruct</artifactId>
          <version>1.6.0.Beta1</version>
       </dependency>
       <dependency>
          <groupId>org.mapstruct</groupId>
          <artifactId>mapstruct-processor</artifactId>
          <version>1.6.0.Beta1</version>
       </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>
       </dependency>
       <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-config-dependencies</artifactId>
          <version>4.1.0</version>
          <type>pom</type>
       </dependency>
       <dependency>
          <groupId>javax.validation</groupId>
          <artifactId>validation-api</artifactId>
          <version>1.1.0.Final</version>
       </dependency>
       <dependency>
          <groupId>jakarta.validation</groupId>
          <artifactId>jakarta.validation-api</artifactId>
          <version>3.0.2</version>
       </dependency>
       <dependency>
          <groupId>org.springdoc</groupId>
          <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
          <version>2.3.0</version>
       </dependency>
       <dependency>
          <groupId>javax.ws.rs</groupId>
          <artifactId>javax.ws.rs-api</artifactId>
          <version>2.1.1</version>
       </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-validation</artifactId>
       </dependency>
        <dependency>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
            <version>0.0.20131108.vaadin1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
       <plugins>
          <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
             <configuration>
                <excludes>
                   <exclude>
                      <groupId>org.projectlombok</groupId>
                      <artifactId>lombok</artifactId>
                   </exclude>
                </excludes>
             </configuration>
          </plugin>
       </plugins>
    </build>

</project>

Контекст:

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

@Configuration
@SpringBootApplication
public class AdminApiApplication {
public static void main(String\[\] args) {
SpringApplication.run(AdminApiApplication.class, args);
}
}

bootstrap.yml (клиентское приложение):

spring:
cloud:
config:
uri: http://localhost:8888
enabled: true
name: spring-cloud-config-server

management:
endpoints:
web:
exposure:
include: "\*"

application.yml (сервер конфигурации):

server:
port: 8888

spring:
profiles:
active: git
security:
user:
name: \*\*\*\*
password: \*\*\*\*

logging:
level:
org.springframework.cloud.config: DEBUG

spring:
cloud:
config:
server:
git:
uri: https://github.com/*****/****.git
username: \*\*\*\*\*
password: \*\*\*\*\*\*
cloneOnStart: true

когда я запускаю сервер конфигурации, я получаю значения из git:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/postgres?currentSchema=postgres
    username: postgres
    password: postgres
    driverClassName: org.postgresql.Driver
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
      dialect: org.hibernate.dialect.PostgreSQLDialect
server:
  port: 8080

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

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

Я был бы признателен за любую информацию о решении этой проблемы и правильной настройке источника данных в моем приложении Spring Boot.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
243
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что-то не так с вашим application.yml.

Используйте это для своих целей:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/postgres?currentSchema=postgres
    username: postgres
    password: postgres
    driver-class-name: org.postgresql.Driver
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
      dialect: org.hibernate.dialect.PostgreSQLDialect
server:
  port: 8080

ваше приложение не может найти подходящий атрибут драйвера в вашем application.yml.

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