当通过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...
}
知道可能导致此问题的原因/您需要哪些信息才能提供更多有助于解决此问题的输入?
答案 0 :(得分:0)
默认情况下,flyway会在类路径中的db / migrations文件夹中查找迁移。如果此db / migrations存在且包含迁移,则sqls flyway会选择此项。还可以使用属性[位置]自定义迁移文件夹位置:(https://flywaydb.org/documentation/commandline/info)
您确定您在flywaysrc文件夹中有db / migrations并且db / migrations包含迁移sqls吗?