Не удалось связать свойства в '' с com.zaxxer.hikari.HikariDataSource - PullRequest
1 голос
/ 13 марта 2020

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

   spring.datasource.initialization-mode=embedded
    spring.datasource.url=jdbc:h2:mem:bitsapi;MODE=Oracle;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    spring.datasource.username=sa
    spring.datasource.password=

вот как мой pom. xml я добавил зависимости

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

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>2.7.9</version>
    <scope>compile</scope>
</dependency>

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

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-03-13 12:01:39,685 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter 

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

Description:

Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource:

    Property: driverclassname
    Value: org.h2.Driver
    Origin: "driverClassName" from property source "source"
    Reason: Failed to load driver class org.h2.Driver in either of HikariConfig class loader or Thread context classloader

Action:

Update your application's configuration

1 Ответ

0 голосов
/ 13 марта 2020

Полагаю, вы используете Spring Boot Starter JPA. Эта зависимость уже существует, и это зависимость от Hikari Connection Pooling, и я бы предложил удалить ее из pom.xml и позволить Spring Boot управлять версиями.

После того, как вы удалили ручной импорт Hikari CP, убедитесь, что иметь runtime область действия вашего H2:

<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <scope>runtime</scope>
</dependency>

Краткое объяснение того, что делает область действия runtime:

время выполнения полезно для зависимостей, необходимых для модульных тестов и при время выполнения, но не во время компиляции. Обычно это может быть динамически загружаемый код, например драйверы JDB C, на которые нет прямой ссылки в программном коде ( Maven: какова цель области действия во время выполнения? )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...