Директория SQL Flyway не найдена при миграции из войны - PullRequest
1 голос
/ 22 марта 2012

Окружающая среда

  • 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

Проблема

Когда я пытаюсь выполнить миграцию Flyway внутри MBean, загруженного при запуске моего JBossЯ получаю следующую трассировку стека.

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 /

Подсказки

  • Пролетный путьбазовый каталог: db / migrations / ei
  • Начальная версия пролетного пути: 5.7.0
  • При автономном запуске миграции выполняются в порядке
  • ИМХО, проблема является следствием неудачного сканирования каталога classpath.

См. com.googlecode.flyway.core.migration.sql.SqlMigrationResolver (L.99)

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

В моем случае ресурсы возвращают пустой массив.

1 Ответ

1 голос
/ 23 марта 2012

Это похоже на ту же проблему, что и https://github.com/flyway/flyway/issues/91

Не стесняйтесь отдать свой голос: -)

...