У меня есть java-файл конфигурации Spring в моем проекте (т. Е. С аннотацией @Configuration
). Теперь я создаю фасоль SpringLiquibase
в этом классе. Основной файл изменений, т. Е. Файл db.changelog.xml
, находится в папке ресурсов. Таким образом, он напрямую доступен из папки resources
, если я использую метод springLiquibaseObj.setChangeLog("classpath:db.changelog.xml");
. Но когда я пытаюсь получить доступ к другим файлам xml из файла db.changelog.xml
с <include file="src/main/config/db/db.changelog-main.xml" />
Я получаю ошибку, что папка и файл не найдены.Путь файла Liquibase в Spring Конфигурационный файл
Здесь я хочу сохранить db.changelog.xml
файл в папке resources
и все другие новые файлы журнала изменений в config
папку, которая должна быть на таком же уровне, как resources
. Причина в том, что в папке resources
есть пакеты, поэтому структура папки config/1.0.0
считается config/1/0/0
, которую я не хочу.
Есть ли способ достичь этой структуры (показано ниже) с текущей настройкой в моем проекте?
- конфигурации
- 1.0.0
- db.changelog.201412120101.xml
- 1.1.0
- 2.0.0
- ресурсы
- db.changelog.xml
или
- конфигурации
- 1.0.0
- db.changelog. 201412120101.xml
- 1.1.0
- 2.0.0
- db.changelog.xml
- ресурсы
Конфигурационная папка не в ресурсах, так как я должен держать ее снаружи из-за проблем с именами. Вы можете увидеть иерархию выше в моем вопросе, у меня есть это, и я хочу, чтобы папка 'config' была доступна из файла конфигурации Spring и' db.changelog.xml'. Я попытался дать такие пути, также этот атрибут relativeToChangeLog не работает. –
Должно быть хорошо иметь конфигурацию за пределами ресурсов, это всего лишь вопрос настройки весны. Liquibase использует SpringLoader Spring, чтобы найти файлы изменений. Можете ли вы настроить это, чтобы посмотреть в config вместе с ресурсами? –