当我在jenkins的flyway插件中提供sql文件位置时,我收到以下错误。
如果我给空位置它工作正常。它会自动采用默认的sql路径。
如果我给出具体位置,我会收到以下错误。
在工作区/ var / lib / jenkins / workspace / flyway_test中构建master
$ / flyway / flyway -user = root ******** -url = jdbc:mysql:// localhost:3306 / test1 -locations = / flyway / sql / migrate Flyway 4.2.0 by Boxfuse
数据库:jdbc:mysql:// localhost:3306 / test1(MySQL 5.6)
警告:无法解析位置类路径:flyway / sql
警告:无法解析位置类路径:flyway / sql
警告:无法解析位置类路径:flyway / sql
警告:无法解析位置类路径:flyway / sql
成功验证了3次迁移(执行时间00:00.028s)
架构的当前版本test1
:2
错误:java.lang.ArrayIndexOutOfBoundsException:-1
错误:构建步骤'调用Flyway'由于错误而失败。
完成:FAILURE
flyway input
答案 0 :(得分:2)
查看配置对话框中location
字段的说明。它与flyway documentation
location
参数的说法相同
位置类型由其前缀决定。 以classpath开头的未加前缀的位置或位置:指向类路径上的包,可能包含基于sql和java的迁移。
以filesystem开头的位置:指向文件系统上的目录,可能只包含sql迁移。
这意味着,您在类路径中提供路径,因为您没有添加前缀。如果要添加一些文件系统资源,则需要以这种方式指定:
filesystem:/flyway/sql/