【问题标题】:Cannot initialize flyway{} in build.gradle无法在 build.gradle 中初始化 flyway{}
【发布时间】:2020-06-25 13:02:14
【问题描述】:

所以我尝试运行 gradle flywayBaseline 但为此我无法将 flayway {} 添加到我的 build.gradle 文件中。 我用这个例子:https://flywaydb.org/documentation/gradle/baseline

在尝试导入依赖项时出现错误:

在 org.gradle.api.Project 类型的根项目“测试”上找不到参数 [build_d9mmyeyovtxo4kagvgy2moniq$_run_closure4@6de8bf0c] 的方法 flyway()。

有我的 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

【问题讨论】:

    标签: java spring spring-boot gradle flyway


    【解决方案1】:

    您必须将 Flyway 插件应用到您的 gradle 构建中,如此处所述:https://flywaydb.org/documentation/gradle/

    【讨论】:

    • 我试图从这个例子中添加插件,但得到一个错误:插件 [id: 'org.flywaydb.flyway', version: '6.3.1'] 在以下任何一个中都没有找到来源: - Gradle 核心插件(插件不在 'org.gradle' 命名空间中) - 插件库(无法解析插件工件 'org.flywaydb.flyway:org.flywaydb.flyway.gradle.plugin:6.3.1')在以下存储库中:Gradle Central Plugin Repository
    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 2021-05-07
    • 2013-05-17
    • 2017-02-23
    • 1970-01-01
    • 2019-01-31
    • 2013-02-27
    • 2014-04-23
    相关资源
    最近更新 更多