ktor выполняется жир jar throws java.lang.UnsupportedOperationException:: Пакеты и фасады файлов еще не поддерживаются в отражении Kotlin
Ниже приведен базовый файл ktor, который работает правильно из IDE, но я создал толстый jar-файл с "mvn install", и его запуск выдает следующее исключение:
Исключение в потоке "main" java.lang.UnsupportedOperationException: пакеты и фасады файлов еще не поддерживаются в отражении Kotlin. В то же время, пожалуйста, используйте отражение Java для проверки этого класса: class com.tech.ApplicationKt
fun main(args: Array<String>){
embeddedServer(Netty, 8080){
routing{
get("/demo"){
call.respondText("Hello demo")
}
}
}.start(wait = true)
}
Я попытался выполнить JAR на Java 11 и 8, но я получаю то же исключение.
1 ответ
Я только что попробовал это, следуя официальному руководству на ktor.io для установки с Maven.
После этого я следовал за https://ktor.io/servers/deploy/packing/fatjar.html для компиляции jar-файлов.
Я столкнулся с 2 проблемами:
- Я впервые попробовал
install:install
задача из боковой панели IntelliJ Maven, но на самом деле вы должны использовать методы жизненного циклаinstall
или простоpackage
, - Я должен был настроить
mainClass
атрибут подключаемого модуля maven, соответствующий моему собственному, напримерpath.to.your.package.ServerKt
или как там ваш файл называется.
Как только я исправил эти два, все заработало нормально.
Если у вас все еще есть проблемы, пожалуйста, покажите нам, что вы создаете файл.