从战争中迁移时找不到Flyway SQL目录

时间:2012-03-22 18:36:00

标签: flyway

环境

  • Jboss 6
  • flyway 1.5
  • spring core 2.5.6

战争结构

ei-web-1.0.1-SNAPSHOT.war
    |WEB-INF
      |classes
        |db
          |migrations
            |ei
              |V5.7.0.sql
              |V5.7.1.sql
              |V5.7.2.sql

问题

当我尝试在JBoss启动时加载的MBean中执行Flyway迁移时,我得到以下堆栈跟踪。

  

java.io.FileNotFoundException:URL [vfs:/ C:/jboss-6.1.0.Final/server/ei/deploy/ei-web-1.0.1-SNAPSHOT.war/WEB-INF/classes/db / migrations / ei /]无法解析为绝对文件路径,因为它不驻留在文件系统中:vfs:/ C:/jboss-6.1.0.Final/server/ei/deploy/ei-web-1.0.1 -SNAPSHOT.war / WEB-INF /类/分贝/迁移/ EI /

线索信息

  • flyway基地目录是 db / migrations / ei
  • flyway初始版本为 5.7.0
  • 以独立方式启动时,迁移正常
  • 恕我直言,问题是类路径目录扫描失败的结果。

请参阅com.googlecode.flyway.core.migration.sql.SqlMigrationResolver (L.99)

final String searchPattern = "**/" + sqlMigrationPrefix + "?*" + sqlMigrationSuffix;
Resource[] resources = new PathMatchingResourcePatternResolver(classLoader)
                .getResources("classpath:" + searchRoot + searchPattern);

在我的例子中,资源返回一个空数组。

1 个答案:

答案 0 :(得分:1)

这与https://github.com/flyway/flyway/issues/91

的问题相同

随意投票: - )