Kotlin 使用命令行编译的完整指南

Kotlin 是一种现代、简洁且功能强大的编程语言,支持多种编译方式。命令行编译是开发者需要掌握的基础技能之一,尤其在无 IDE 环境下或自动化脚本中非常实用。

安装 Kotlin 编译器

确保已安装 JDK(Java Development Kit),因为 Kotlin 运行在 JVM 上。随后下载 Kotlin 编译器(kotlinc):

  • Kotlin 官方 GitHub 获取最新版本。
  • 解压后将其 bin 目录添加到系统环境变量 PATH 中。

验证安装是否成功:

kotlinc -version

编译 Kotlin 文件

假设有一个名为 hello.kt 的文件,内容如下:

fun main() {
    println("Hello, Kotlin!")
}

使用以下命令编译:

kotlinc hello.kt -include-runtime -d hello.jar

  • -include-runtime:将 Kotlin 运行时库打包到生成的 JAR 中。
  • -d:指定输出文件路径。

运行编译后的程序:

java -jar hello.jar

编译多个文件

若有多个文件(如 utils.ktmain.kt),通过以下方式编译:

kotlinc main.kt utils.kt -include-runtime -d app.jar

生成可执行脚本

Kotlin 支持将脚本编译为可直接运行的 JAR。例如,对于 script.kts

println("Kotlin script executed!")

编译并运行:

kotlinc -script script.kts

使用 Kotlin 标准库独立编译

若需生成不包含运行时的小型 JAR(依赖外部 Kotlin 库):

kotlinc hello.kt -d hello.jar

运行时需指定 Kotlin 库路径:

java -cp hello.jar:/path/to/kotlin-stdlib.jar HelloKt

增量编译与优化

通过 -no-stdlib 避免包含标准库,或 -Xmulti-platform 启用多平台支持。例如:

kotlinc -no-stdlib -Xmulti-platform -d output.jar

调试信息生成

添加 -g 选项生成调试信息:

kotlinc -g hello.kt -d hello.jar

常见问题与解决

问题1:类名冲突

  • 使用 -module 指定模块名:
    kotlinc hello.kt -module hello -d hello.jar
    

问题2:依赖管理

  • 通过 -cp 指定外部依赖路径:
    kotlinc -cp libs/dependency.jar main.kt -d app.jar
    

通过命令行编译 Kotlin,开发者可以更灵活地控制构建过程,适合集成到 CI/CD 流程或自动化脚本中。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐