Liquibase: java.nio.file.InvalidPathException: недопустимый символ <:> в индексе, если он не в пути к классамJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Liquibase: java.nio.file.InvalidPathException: недопустимый символ <:> в индексе, если он не в пути к классам

Сообщение Anonymous »

Структура моего проекта следующая:

Код: Выделить всё

project
|___project-web
|___project-service
|___project-database
project-web — это проект весенней загрузки, в котором находится класс приложения. База данных проекта не является проектом весенней загрузки, а просто содержит build.gradle и журналы изменений нашей Liquibase. Теперь в project-web у меня есть интеграционные тесты, которые необходимо запустить журналы изменений Liquibase. Когда я копирую свои журналы изменений в project-web/src/test/resources и устанавливаю параметр журнала изменений как журнал изменений: classpath:db/db-migrations/changelog.xml, это работает так, как ожидалось. .
Однако по понятным причинам я хочу избежать копирования журналов каналов, когда они уже присутствуют в проекте. Для этого я попытался установить параметр журнала изменений как журнал изменений: file:../project-database/db-migrations/changelog.xml, что приводит к этому исключению: java.nio.file.InvalidPathException: Illegal char по индексу 4: файл:../project-database/db-migrations/v2024.07.1/2024.07.16-initial.xml.
Таким образом, сам путь правильный, Liquibase может найти файлы, но с указанным исключением происходит сбой, если я не скопирую те же файлы в папку test/resources. Я также пытался произвольно изменить порядок файлов журнала изменений, чтобы увидеть, был ли это один файл, но исключение всегда одно и то же.
РЕДАКТИРОВАТЬ: я не уверен на 100%, что сделал это. правильно, но я попробовал последовать совету Никоса:
В build.gradle базы данных проекта я добавил:

Код: Выделить всё

sourceSets {
main {
resources {
srcDir 'db-migrations'
}
}}
Затем я добавил зависимость в project-web от базы данных проекта и изменил параметр liquibase на журнал изменений: classpath:project-database/db-migrations/changelog.xml.
Однако это не работает, и тест завершается с ошибкой. Причина: liquibase.Exception.ChangeLogParseException: ОШИБКА: файл 'classpath:project-database/db-migrations/changelog.xml' не найден.
Я сделал что-то неправильно?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ex-when-no
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»