ktor выполняется жир jar throws java.lang.UnsupportedOperationException :: Пакеты и фасады файлов еще не поддерживаются в отражении Kotlin - PullRequest
0 голосов
/ 21 января 2019

Ниже приведен базовый файл 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 Ответ

0 голосов
/ 21 января 2019

Я только что попробовал это, следуя официальному руководству на ktor.io для установки с maven.

Впоследствии я последовал https://ktor.io/servers/deploy/packing/fatjar.html#fat-jar-maven для компиляции банки.

Я столкнулся с 2 проблемами:

  1. Сначала я попробовал задачу install:install на боковой панели IntelliJ Maven, но на самом деле вы должны использовать методы жизненного цикла install или просто package.
  2. Мне пришлось настроить атрибут mainClass плагина сборки maven так, чтобы он соответствовал моему собственному, например, path.to.your.package.ServerKt или как там называется ваш файл.

Как только я исправил эти два, все заработало нормально.

Если у вас все еще есть проблемы, пожалуйста, покажите нам, что вы создаете файл.

...