使用Jenkins和Gradle运行Flyway迁移 - 无法解析位置类路径:db / migration

时间:2017-10-06 20:07:30

标签: java jenkins gradle flyway

当通过jenkins运行flyway时,我在控制台输出中出现以下错误:

Unable to resolve location classpath:db/migration

我的项目源结构如下所示:

Project1
|--WEB-INF
   |--src
      |--java source
   |--flywaysrc
      |-- flyway source

我的build.gradle为flyway和java提供了单独的sourceSets:

sourceSets {
    main {
        java {          
            srcDir 'WEB-INF/src'        
        }
    }
    flyway {
        java {
            srcDir 'WEB-INF/flywaysrc'
            output.classesDir='bin'         
        }
    }
}

它还包含一个flyway条目,其中locations数组的设置如下:

flyway {  
    ...other configuration params...  
    ArrayList<String> locationsArray = new ArrayList<String>();  
    locationsArray.add("classpath:db/migration");  
    locationsArray.add("filesystem:/path/to/eclipse/Project1/WEB-INF/Release/old_release");
    locationsArray.add("filesystem:/path/to/eclipse/Project1/WEB-INF/flywaysrc");  
    locations=locationsArray  
    ...other configuration params...  
}

知道可能导致此问题的原因/您需要哪些信息才能提供更多有助于解决此问题的输入?

1 个答案:

答案 0 :(得分:0)

默认情况下,flyway会在类路径中的db / migrations文件夹中查找迁移。如果此db / migrations存在且包含迁移,则sqls flyway会选择此项。还可以使用属性[位置]自定义迁移文件夹位置:(https://flywaydb.org/documentation/commandline/info

您确定您在flywaysrc文件夹中有db / migrations并且db / migrations包含迁移sqls吗?