使用命令行编译器

这个教程将会教会大家如何使用Kotlin命令行编译器进行Kotlin代码编译。

下载Kotlin命令行编译器

要了解Kotlin 的底层实现机制,我们就必须下载Kotlin 命令行编译工具,Kotlin 命令行编译工具下载地址:https://github.com/JetBrains/kotlin/releases/tag/v1.1.2-2,这里我们下载的版本是1.1.2-2。当然,也可以选择一个最新的稳定版下载。

传统的安装方式

下载完成后,解压到指定目录,然后将 bin 目录添加到系统环境变量。bin 目录包含编译和运行 Kotlin 所需的脚本。

SDKMAN! 安装

在 OS X、Linux、Cygwin、FreeBSD 和 Solaris 系统上也可以使用更简单的安装方法,命令如下:

$ curl -s https://get.sdkman.io | bash
$ sdk install kotlin

Homebrew 安装

在 OS X 下,你可以使用 Homebrew 安装:

$ brew update
$ brew install kotlin

MacPorts 安装

如果你是 [MacPorts 用户,可以使用以下命令安装:

$ sudo port install kotlin

创建并运行第一个应用程序

  1. 这里我们还是创建一个最简单的Hello World程序,首先我们需要新建一个hello.kt的Kotlin文件,内容如下:
fun main(args: Array<String>) {
    println("Hello, World!")
}
  1. 使用命令行工具,编译这个文件代码
$ kotlinc hello.kt -include-runtime -d hello.jar
  • d: 用来设置编译输出的名称,可以是 class 或 .jar 文件,也可以是目录。
  • include-runtime : 让 .jar 文件包含 Kotlin 运行库,从而可以直接运行。

更多的操作我们可以使用Help命令来查看:

$ kotlinc -help
  1. 之后,就可以使用java -jar命令在执行应用程序了:
$ java -jar hello.jar

编译一个库

如果我们想使用Kotlin语言打包一个应用程序的库文件,我们可以使用下面这种方式,排除kotlin runtime包,直接生成.jar文件。

$ kotlinc hello.kt -d hello.jar

由于这样生成的 .jar 文件不包含 Kotlin 运行库,所以你应该确保当它被使用时,运行时在你的 classpath 上。
你也可以使用 kotlin 命令来运行 Kotlin 编译器生成的 .jar 文件

$ kotlin -classpath hello.jar HelloKt

HelloKt 为编译器为 hello.kt 文件生成的默认类名。

运行 REPL(Read、Evaluate、Print、Loop 作为输入值)

我们可以在命令行编译器上运行互动式无参数的脚本,我们可以直接验证我们的Kotlin代码,并直接看到执行结果。

image

用命令行执行脚本

Kotlin还可以使用脚本语言,一个脚本Kotlin文件(.kts)必须要是顶层可执行的代码。如:

   import java.io.File

   val folders = File(args[0]).listFiles { file -> file.isDirectory() }
   folders?.forEach { folder -> println(folder) }

执行时通过 -script 选项设置相应的脚本文件。

$ kotlinc -script list_folders.kts <path_to_folder_to_inspect>