Kotlin反射尚不支持运行fat jar抛出java.lang.UnsupportedOperationException::包和文件外观

Kotlin反射尚不支持运行fat jar抛出java.lang.UnsupportedOperationException::包和文件外观,kotlin,ktor,Kotlin,Ktor,下面是从IDE正常运行的基本ktor文件,但我使用“mvn安装”创建了一个fat jar文件,运行它会引发以下异常: 线程“main”java.lang.UnsupportedOperationException中出现异常:Kotlin反射中尚不支持包和文件外观。同时请使用Java反射来检查这个类:class com.tech.ApplicationKt fun main(args: Array<String>){ embeddedServer(Netty, 8080){

下面是从IDE正常运行的基本ktor文件,但我使用“mvn安装”创建了一个fat jar文件,运行它会引发以下异常:

线程“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)
}
fun main(args:Array){
嵌入式服务器(Netty,8080){
路由{
获取(“/demo”){
call.respondText(“你好演示”)
}
}
}.start(等待=真)
}

我尝试在Java11和Java8上执行jar,但我遇到了相同的异常。

我只是按照ktor.io上的官方指南来尝试使用maven进行安装

之后,我继续进行jar编译

我遇到了两个问题:

  • 我首先尝试了IntelliJ Maven侧栏中的
    install:install
    任务,但实际上您必须使用生命周期方法
    install
    或只使用
  • 我必须调整maven assembly插件的
    mainClass
    属性,使之与我自己的属性相匹配,例如
    path.to.your.package.ServerKt
    或任何文件调用
  • 一旦我修好了那两个,一切都很好


    如果您仍然有问题,请向我们展示您的构建文件

    您使用的是什么版本的ktor?甚至可以给我们看看你的构建。在maven assembly插件中调整mainClass后,它运行良好。谢谢你指出这一点。