在 ktor 版本 3 上启动 ktor 应用程序时出现 Koin 错误

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

将 ktor 升级到

"3.0.0-beta-1"
进行测试,并将 koin 升级到最新版本
"3.6.0-wasm-alpha2"
启动应用程序时出现此错误。

它指向 koin 库本身内的一行,降级回 ktor 2.3.7 可以解决问题

Exception in thread "main" java.lang.NoSuchMethodError: 'io.ktor.events.Events io.ktor.server.application.ApplicationEnvironment.getMonitor()'
    at org.koin.ktor.plugin.KoinPluginKt.setupMonitoring(KoinPlugin.kt:54)
    at org.koin.ktor.plugin.KoinPluginKt$Koin$2.invoke(KoinPlugin.kt:38)
    at org.koin.ktor.plugin.KoinPluginKt$Koin$2.invoke(KoinPlugin.kt:35)
    at io.ktor.server.application.CreatePluginUtilsKt.setupPlugin(CreatePluginUtils.kt:300)
    at io.ktor.server.application.CreatePluginUtilsKt.createPluginInstance(CreatePluginUtils.kt:269)
    at io.ktor.server.application.CreatePluginUtilsKt.access$createPluginInstance(CreatePluginUtils.kt:1)
    at io.ktor.server.application.CreatePluginUtilsKt$createApplicationPlugin$2.install(CreatePluginUtils.kt:90)
    at io.ktor.server.application.CreatePluginUtilsKt$createApplicationPlugin$2.install(CreatePluginUtils.kt:83)
    at io.ktor.server.application.ApplicationPluginKt.install(ApplicationPlugin.kt:100)
    at com.plugins.DiKt.configureDi(Di.kt:10)
    at com.ApplicationKt.module(Application.kt:15)
    at com.ApplicationKt.module$default(Application.kt:12)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
    at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Static.call(CallerImpl.kt:106)
    at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:215)
    at kotlin.reflect.jvm.internal.KCallableImpl.callBy(KCallableImpl.kt:112)
    at io.ktor.server.engine.internal.CallableUtilsKt.callFunctionWithInjection(CallableUtils.kt:120)
    at io.ktor.server.engine.internal.CallableUtilsKt.executeModuleFunction(CallableUtils.kt:36)
    at io.ktor.server.engine.EmbeddedServer$launchModuleByName$1.invoke(EmbeddedServerJvm.kt:349)
    at io.ktor.server.engine.EmbeddedServer$launchModuleByName$1.invoke(EmbeddedServerJvm.kt:348)
    at io.ktor.server.engine.EmbeddedServer.avoidingDoubleStartupFor(EmbeddedServerJvm.kt:373)
    at io.ktor.server.engine.EmbeddedServer.launchModuleByName(EmbeddedServerJvm.kt:348)
    at io.ktor.server.engine.EmbeddedServer.access$launchModuleByName(EmbeddedServerJvm.kt:27)
    at io.ktor.server.engine.EmbeddedServer$instantiateAndConfigureApplication$1.invoke(EmbeddedServerJvm.kt:329)
    at io.ktor.server.engine.EmbeddedServer$instantiateAndConfigureApplication$1.invoke(EmbeddedServerJvm.kt:327)
    at io.ktor.server.engine.EmbeddedServer.avoidingDoubleStartup(EmbeddedServerJvm.kt:355)
    at io.ktor.server.engine.EmbeddedServer.instantiateAndConfigureApplication(EmbeddedServerJvm.kt:327)
    at io.ktor.server.engine.EmbeddedServer.createApplication(EmbeddedServerJvm.kt:142)
    at io.ktor.server.engine.EmbeddedServer.start(EmbeddedServerJvm.kt:270)
    at io.ktor.server.cio.EngineMain.main(EngineMain.kt:25)
    at com.ApplicationKt.main(Application.kt:9)

Process finished with exit code 1

kotlin ktor koin
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.