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")
}

Моя структура папок

0 ответов

Другие вопросы по тегам