Kotlin多平台将ktor用作后端jvm模块

Kotlin多平台将ktor用作后端jvm模块,kotlin,jvm,backend,ktor,kmm,Kotlin,Jvm,Backend,Ktor,Kmm,我正在进行我的多平台项目,并在其中添加了基于ktor的后端模块 因为我想与这个后端模块共享我的公共代码,所以我将它添加到了依赖项中 实施(项目(“:共享”) 但jvm目标(ktor后端)的代码共享似乎存在问题 我已经找到了一个解决方法,通过将这个后端子模块本身标记为多平台来解决我的项目的依赖关系,但是现在当我构建它并开始运行时,我发现了这个错误 错误:无法找到或加载主类com.owlsoft.backend.ServerKt 我的整个后端ktor build.gradle.kts plugins

我正在进行我的多平台项目,并在其中添加了基于ktor的后端模块 因为我想与这个后端模块共享我的公共代码,所以我将它添加到了依赖项中

实施(项目(“:共享”)

但jvm目标(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")
}
我主要是想分享一些模型和业务逻辑 我只在多平台上制作了带有ktor的后端模块,以解决无法获取共享模块更改的问题


k或服务器仅为JVM。你们能描述一下你们想在不同平台上共享什么代码吗?我已经编辑了一点。因此,我尝试共享一个“共享”模块,其中包含常见模型和一些业务逻辑。它对android应用程序和ios运行良好,但对“后端”模块(基于JVM的模块)不太好,当我尝试执行“实现”(项目(“共享”))在它里面,我的共享模块中没有看到任何模型,所以我也尝试过制作后端多平台,它工作得很好,现在可以从后端模块内部正确地看到共享模型,但是我现在无法在这个后端模块中运行服务器。由于上面描述的错误,它失败了。我建议使用此示例项目作为示例来解决您的问题。