Отсутствует jar Postgres Flyway в загрузчике классов при развертывании Fly.ioJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Отсутствует jar Postgres Flyway в загрузчике классов при развертывании Fly.io

Сообщение Anonymous »

Я пытаюсь развернуть приложение Ktor с миграцией Flyway при запуске. До сих пор у меня не было проблем, но когда я добавил этап миграции при запуске, он завершился неудачно, потому что зависимость Flyway-database-postgresql (и соответствующий класс PostgreSQLDatabaseType.class) не создается. загружается загрузчиком классов по умолчанию.
Когда я подключаюсь к виртуальной машине по SSH и проверяю фактическое содержимое развернутого толстого jar, я нахожу там файл, так что это не отсутствующий файл или maven проблема (насколько я знаю). Запись maven выглядит довольно стандартно:

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

    
org.flywaydb
flyway-database-postgresql
10.17.3

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

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

Application::class.java.classLoader.definedPackages.flatMap { it.name.split(":") }.forEach { println("Found package from class loader: $it") }
Я также пробовал использовать ClassLoader.getSystemClassLoader().
Все работает, когда я загружаю его на своем компьютере, и список определенных пакетов включает соответствующий пакет (

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

org.flywaydb.database.postgresql
), чего он не делает на летающей машине.
В файле Manifest.mf я нахожу следующий пакет по пути к классам: Flyway-database-postgresql- 10.17.3.jar. Это связано с Котлином? Что-то связано с ClassLoader? Я собираю с помощью Dockerfile, но это довольно стандартно, и, поскольку в jar попадают нужные файлы, я сомневаюсь, что проблема в этом.
Кто-нибудь знает, в чем может быть проблема? Кажется, где-то проблема с путем к классу, но, к сожалению, я понятия не имею, как разобраться в чем-то подобном.
Мой код (значительно сократился): https://github.com /evengul/mc-org/tree/reproduce-error/webapp. Он по-прежнему работает локально, но вы можете взглянуть на него, если хотите.

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

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

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

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

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

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

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