Когда я подключаюсь к виртуальной машине по 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") }
Все работает, когда я загружаю его на своем компьютере, и список определенных пакетов включает соответствующий пакет (
Код: Выделить всё
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. Он по-прежнему работает локально, но вы можете взглянуть на него, если хотите.
Изменить 2: уточнен заголовок, поскольку на самом деле он находится в банке.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -io-deploy