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

Windows系统下如何编译并运行包含协程的Kotlin代码

错误原因

你遇到的报错是运行命令的写法错误导致的,核心问题有两个:

  1. -jar 和 -cp 参数无法同时生效:使用-jar参数运行jar包时,JVM只会读取jar包内META-INF/MANIFEST.MF文件里的Class-Path和Main-Class配置,手动指定的-cp参数会被直接忽略。
  2. 类路径指定逻辑错误:第二种写法中-cp参数只包含了协程依赖,没有把你自己编译的CoMain01.jar加入类路径,且命令最后需要指定主类的全类名,你直接填写jar包文件名,JVM会把它当成类名加载,自然触发类找不到的报错。

解决方案

Kotlin编译无包名的kt文件时,顶层main函数对应的主类名为文件名Kt,你的文件名为CoMain01.kt,对应的主类名为CoMain01Kt,你可以选择以下任意一种方式运行:

方案1:直接通过类路径指定主类运行

Windows下类路径用分号;分隔,把协程依赖和你编译的jar包都加入类路径,最后跟主类名即可,命令如下:

java -cp "C:\kotlin\lib\kotlinx-coroutines-core-jvm.jar;CoMain01.jar" CoMain01Kt

方案2:配置清单文件后用-jar直接运行

如果想要直接用java -jar命令运行,需要提前在编译时配置清单文件:

  1. 新建manifest.txt文件,写入如下内容,注意末尾要保留一个空行:
Main-Class: CoMain01Kt
Class-Path: C:\kotlin\lib\kotlinx-coroutines-core-jvm.jar

  1. 重新执行编译命令,指定清单文件:
kotlinc CoMain01.kt -cp C:\kotlin\lib\kotlinx-coroutines-core-jvm.jar -include-runtime -d CoMain01.jar -manifest manifest.txt
  1. 编译完成后直接运行即可:
java -jar CoMain01.jar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:18:03