Не удалось инициализировать flyway {} в build.gradle - PullRequest
1 голос
/ 13 марта 2020

Итак, я пытаюсь запустить gradle flywayBaseline, но для этого я не могу добавить flayway {} в мой файл build.gradle. Я использую этот пример: https://flywaydb.org/documentation/gradle/baseline

И получаю ошибку при попытке импортировать зависимости:

Не удалось найти метод flyway () для аргументов [build_d9mmyeyovtxo4kagvgy2moniq$_run_closure4@6de8bf0c] в root проекте 'test' типа org.gradle.api.Project.

Мой файл build.gradle есть:

plugins {
    id 'java'
    id 'idea'
}

repositories {
    mavenCentral()
    jcenter()
}

group = 'com.test'
version = '1.0.0'
sourceCompatibility = '11'

dependencies {
    /*Springboot dependencies*/
    implementation group: 'org.springframework.boot', name: 'spring-boot', version: '2.2.5.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.2.5.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.2.5.RELEASE'
    implementation group: 'io.spring.gradle', name: 'dependency-management-plugin', version: '1.0.9.RELEASE'

    /*Database dependencies*/
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.2.5.RELEASE'
    implementation group: 'com.oracle.ojdbc', name: 'ojdbc10', version: '19.3.0.0'
    implementation group: 'com.h2database', name: 'h2', version: '1.4.200'
    implementation group: 'org.flywaydb', name: 'flyway-core', version: '6.3.0'

    /*Lombok*/
    implementation group: 'org.projectlombok', name: 'lombok', version: '1.18.12'
    annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.12'

    implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.7.0'

    implementation group: 'junit', name: 'junit', version: '4.12'

    implementation group: 'com.google.guava', name: 'guava', version: '28.2-jre'

    implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.3.6'

    testImplementation(group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.5.RELEASE') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.6.0'
}

test {
    useJUnitPlatform()
}


flyway {
    url = 'jdbc:h2:mem:mydb'
    user = 'myUsr'
    password = 'mySecretPwd'
    schemas = ['schema1', 'schema2', 'schema3']
    placeholders = [
            'keyABC': 'valueXYZ',
            'otherplaceholder': 'value123'
    ]
}

файл application.properties я использую для подключения:

logging.level.org.org.springframework=DEBUG
server.port=8080

spring.h2.console.enabled=true
spring.h2.console.path=/h2

spring.datasource.url=jdbc:h2:file:~/spring-boot-demo
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver

Использование Gradle версии 6.2.1

SprintBoot 2.2.5.RELEASE

IntelliJ IDEA 2019.3.3

1 Ответ

1 голос
/ 13 марта 2020

Вы должны применить плагин Flyway к вашей сборке Gradle, как сказано здесь: https://flywaydb.org/documentation/gradle/

...