Kotlin Multiplatform обслуживает ktor как внутренний модуль jvm
Я работаю над своим многоплатформенным проектом и добавил в него бэкэнд на основе ktor, так как я хотел поделиться своим общим кодом с этим бэкэнд-модулем, я добавил его в зависимости
implementation(project(":shared"))
Но, похоже, есть проблема с совместным использованием кода для jvm target(которым является бэкэнд ktor). Я нашел обходной путь, чтобы мой проект разрешил эту зависимость, пометив этот субмодуль бэкенда как сам мультиплатформенный, но теперь, когда я его создаю начать бежать я получаю эту ошибку
Ошибка: не удалось найти или загрузить основной класс com.owlsoft.backend.ServerKt
Весь мой бэкэнд ktor build.gradle.kts
plugins {
application
kotlin("multiplatform")
id("kotlinx-serialization")
}
kotlin {
jvm {
withJava()
}
}
application {
@Suppress("DEPRECATION")
mainClassName.set("com.owlsoft.backend.ServerKt")
}
dependencies {
implementation(Libs.Coroutines.core)
implementation(Libs.KtorServer.core)
implementation(Libs.KtorServer.netty)
implementation(Libs.KtorServer.serialization)
implementation(Libs.KtorServer.websockets)
implementation(Libs.kotlinSerialization) // JVM dependency
implementation("ch.qos.logback:logback-classic:1.2.3")
implementation(project(":shared"))
testImplementation(Libs.KtorServer.test)
}
tasks.register("stage") {
dependsOn("installDist")
}