2017-10-06 67 views
1

当通过詹金斯运行飞行用我得到的控制台输出以下错误:运行迁飞迁移与詹金斯和摇篮 - 无法解析位置的类路径:DB /迁移

Unable to resolve location classpath:db/migration 

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

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

我的build.gradle对迁徙路线和java单独sourceSets:

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

它还包含了飞路,其中位置阵列设置如下条目:

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

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

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

+0

是的,我确定。 Flyway通过gradle运行,我已经在上面的问题中添加了配置的一个片段... 奇怪的是,我可以从eclipse运行flyway并更新数据库而没有问题。这是当我通过Jenkins运行飞行任务时,它会失败并出现上述错误。 – jonathanlevis