Проблемы с обработкой базы данных h2, установленной в java -springboot и его org.h2.Driver - PullRequest
0 голосов
/ 21 апреля 2020

Добрый день, разработчик. По какой-то причине мне пришлось отключить свое приложение из облака и снова начать работать на локальном компьютере, а затем попытаться восстановить все его свойства, связанные с базой данных h2, выдает мне эту ошибку «Не удалось связать свойства в» '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"

в связи с этим я обновил свойства своего приложения, например,

spring.h2.console.enabled=true
spring.data.rest.base-path=/rest
spring.jackson.serialization.INDENT_OUTPUT=true
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver

Но затем выкинул мне еще одну ошибку

"Ошибка создания компонента с именем org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration ': неудовлетворенная зависимость, выраженная через параметр конструктора 0; вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем 'dataSource', определенным в ресурсе пути к классу org / springframework / boot / autoconfigure / jdbc / DataSourceConfiguration $ Hikari.class]: сбой создания экземпляра компонента с помощью метода фабрики; вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [com.zaxxer.hikari.HikariDataSource]: фабричный метод 'dataSource' вызвал исключение; вложенное исключение: java .lang.IllegalStateException: невозможно загрузить класс драйвера: org.h2.Driver ".

Так что для записи перед получением приложения в облаке его свойствам приложения даже не требовался этот источник данных элемент драйвера, просто отлично работал вот так

spring.h2.console.enabled=true
spring.data.rest.base-path=/rest
spring.jackson.serialization.INDENT_OUTPUT=true

Понятия не имею, что происходит.

Также я публикую свою сборку gradle.props

plugins {
    id 'org.springframework.boot' version '2.2.4.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'com.miniAmazon'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-rest'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    compile("org.springframework.boot:spring-boot-starter-security")
    implementation 'org.springframework.boot:spring-boot-starter-web'
    runtimeOnly 'com.h2database:h2'
    //compile("org.postgresql:postgresql") //COMMENT TO WORK IN LOCAL
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    testImplementation 'org.springframework.security:spring-security-test'
}

test {
    useJUnitPlatform()
}

Может ли кто-нибудь мне помочь? .... заранее спасибо !!!

...