Kotlin 文件运行方式总结

Kotlin 文件运行方式总结

最初只有 hello.kt文件
在这里插入图片描述

方式一:编译为 .class 后用 kotlin 命令运行

kotlinc hello.kt      # 编译生成 HelloKt.class
kotlin HelloKt        # 运行

原理:

  • 编译产生 HelloKt.class(JVM 字节码)
  • kotlin 命令是一个包装器,会自动携带 Kotlin 标准库(stdlib)在 classpath 中执行
  • 依赖 Kotlin 运行时库,需要系统安装有 Kotlin runtime

方式二:Kotlin 脚本模式(.kts 文件)

kotlinc -script hello.kts

原理:

  • .kts 文件是 Kotlin 脚本文件,逐行解释执行(无需显式 main 函数入口)
  • 适合快速编写工具脚本、自动化任务
  • 每次运行都会实时编译 + 执行

方式三:打包为自包含的 JAR 运行/ 右键运行run code

kotlinc hello.kt -include-runtime -d hello.jar   # 编译并打包
java -jar hello.jar                              # 运行

#下载code runner插件后在executorMap中设置该指令 可直接右键运行run code
kotlinc hello.kt -include-runtime -d hello.jar && java -jar hello.jar && rm hello.jar

原理:

  • -include-runtime 将 Kotlin 标准库(~2-3MB)打包进 JAR,成为 self-contained 可执行文件
  • 无需系统安装 Kotlin runtime,双击或 java -jar 即可运行
  • 适合分发给最终用户

HelloKt.class vs hello.jar 的核心区别

对比项HelloKt.classhello.jar(含运行时)
是否自包含否,依赖外部 Kotlin runtime是,打包了 Kotlin stdlib
分发体积小(仅你的代码)大(含运行时库 ~2-3MB)
运行方式kotlin HelloKtjava -jar hello.jar
部署目标开发、调试、已有 Kotlin 环境交付给无 Kotlin 环境的用户

一句话总结

方式适用场景
kotlin HelloKt(编译后运行)轻量,适合开发调试
kotlinc -script *.kts适合临时脚本、 REPL 替代
java -jar hello.jar适合交付分发,无需目标机器装 Kotlin

补充:其他运行方式

Kotlin 脚本模式(.kts 专用)

kotlinc -script hello.kts

注意: kotlin 无法直接运行 .kt 文件。kotlin命令只能运行已编译的.class文件。只有.kts脚本文件才可以通过-script` 模式直接执行。

Gradle / Maven 构建

在正式项目中,通常使用 Gradle 或 Maven 管理依赖和构建,而非直接用 kotlinc 手工编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值