You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin multiplatform项目中配置使用Gradle application插件

问题原因

Kotlin 多平台插件会为不同目标创建独立的自定义 SourceSet(比如 JVM 目标对应jvmMain),而原生application插件默认只识别 JVM 单平台项目的默认main SourceSet 输出,所以找不到编译后的类,导致打包内容为空。

正确配置

修改你的build.gradle.kts如下:

plugins {
    kotlin("multiplatform") version "1.5.31"
    id("application")
}

kotlin {
    // 声明JVM目标,开启与Java生态插件的兼容
    jvm {
        withJava()
    }

    sourceSets {
        val jvmMain by getting {
            // 此处可添加JVM侧依赖
        }
        val jvmTest by getting
    }
}

application {
    mainClass.set("pl.gieted.flappy_bird.MainKt")
}

// 可选:显式关联run任务的类路径,避免运行时找不到类
tasks.named<JavaExec>("run") {
    classpath += kotlin.jvm().compilations["main"].output.allOutputs
}

验证方式

配置完成后执行以下命令校验:

  • 执行./gradlew run可直接启动应用
  • 执行./gradlew assembleDist生成的压缩包会包含完整的启动脚本、依赖包和编译后的类文件

内容的提问来源于stack exchange,提问作者Gieted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:54:01