【问题标题】:Flyway SQL directory not found while migrating from within a war从战争中迁移时找不到 Flyway SQL 目录
【发布时间】:2012-04-07 09:02:25
【问题描述】:

环境

  • Jboss 6
  • 飞路 1.5
  • 弹簧芯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/classes/db/migrations/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);

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

【问题讨论】:

    标签: flyway


    【解决方案1】:

    这听起来和https://github.com/flyway/flyway/issues/91 是同一个问题

    请随意投票:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-06
      • 2013-04-07
      • 1970-01-01
      • 2021-05-04
      • 2012-02-07
      • 2013-03-08
      • 2012-06-28
      • 2020-04-29
      相关资源
      最近更新 更多