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

如何使用命令行编译器kotlinc引入kotlinx包?

用kotlinc编译器使用kotlinx包(以协程为例)的方法

不需要必须使用Gradle这类构建工具,直接用kotlinc编译器也能使用kotlinx包,核心是要让编译器找到对应的依赖库,具体步骤如下:

1. 获取kotlinx协程的依赖jar包

你需要下载对应版本的kotlinx协程核心库jar包,比如kotlinx-coroutines-core-<版本号>.jar,版本建议和你使用的Kotlin编译器版本匹配(比如kotlinc是1.8.x的话,协程用1.7.x系列比较稳妥)。

也可以不用手动下载,直接通过kotlinc的参数从Maven仓库自动拉取依赖,后面会提到这种方式。

2. 编译时指定依赖路径

编译代码时,需要用-cp(或-classpath)参数把协程jar包的路径加入到类路径中。

假设你的main.kt和协程jar包在同一目录,编译命令如下:

kotlinc -cp "kotlinx-coroutines-core-*.jar" main.kt

如果用自动拉取依赖的方式,直接指定Maven仓库和依赖坐标即可:

kotlinc -repository https://repo1.maven.org/maven2/ -dependency org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 main.kt

这条命令会自动下载对应版本的协程库到本地缓存,无需手动下载jar。

3. 运行程序时也要指定类路径

编译完成后,运行程序同样需要把协程jar加入类路径,否则会出现找不到类的错误:

  • Windows系统:
kotlin -cp ".;kotlinx-coroutines-core-*.jar" MainKt
  • Linux/macOS系统:
kotlin -cp ".:kotlinx-coroutines-core-*.jar" MainKt

MainKt是Kotlin默认生成的主类名(如果你的main函数在顶层的话)。

4. 可选:打包成可执行jar(包含依赖)

如果你想生成一个可以直接运行的jar包,不用每次运行都指定类路径,可以用-include-runtime参数把Kotlin运行时和依赖一起打包:

# 手动指定jar的情况
kotlinc -include-runtime -cp "kotlinx-coroutines-core-*.jar" main.kt -d main.jar

# 自动拉取依赖的情况
kotlinc -include-runtime -repository https://repo1.maven.org/maven2/ -dependency org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 main.kt -d main.jar

之后直接运行:

java -jar main.jar

示例代码

比如你的main.kt内容如下:

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000)
        println("Hello from coroutine!")
    }
    println("Hello from main!")
}

按照上面的步骤编译运行,就能正常执行协程代码了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:33:21