Окружающая среда
- 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);
В моем случае ресурсы возвращают пустой массив.