2012-03-22 2 views
0

Environmentкаталог пролетный путь SQL не найден во время миграции внутри войны

  • 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 

Проблема

Когда я пытаюсь выполнить пролетного пути миграции внутри 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/классы/DB// миграций EI/

Ключи

  • пролетного пути базовая папка является дБ/м igrations/е
  • пролетного пути начальная версия 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); 

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

ответ