Ktor fat JAR 中缺少 Jetty HttpConnection 类

问题描述 投票:0回答:1

我正在尝试构建我的 Ktor 应用程序使用官方插件,但是一旦我运行构建的 fat JAR,我在请求我的应用程序时会收到以下错误:

$ ./gradlew runFatJar

...

INFO  Application - Responding at http://0.0.0.0:8080
WARN  o.eclipse.jetty.io.ManagedSelector - java.lang.ExceptionInInitializerError
WARN  o.eclipse.jetty.io.ManagedSelector - java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.jetty.server.HttpConnection

胖 JAR 似乎缺少 Jetty 类。

gradle jetty ktor
1个回答
0
投票

Ktor 插件基于 Shadow,您必须调用

mergeServiceFiles()
以确保所有必需的类都添加到 JAR 中:

tasks {
    named<ShadowJar>("shadowJar") {
        mergeServiceFiles()
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.