在Windows上配置简单的Kotlin语言命令行开发环境,手工编写、编译和运行简单的Kotlin程序,具有以下好处:
- 熟悉Kotlin语言基本的编译执行过程;
- 忽略庞大的集成开发工具(IDE)的复杂性,专注于Kotlin本身的学习;
- 命令行工具开发Kotlin,非常适合编写小程序、简单学习;如果不需要开发Android等具体应用,直接使用命令行工具更简单高效;
在Windows操作系统完成JDK 8的安装以后,安装Kotlin编译器:
使用记事本,输入以下代码,然后保存路径为D:\kotlin_code\hello.kt:
fun main(args: Array<String>) {
println("Hello, World!")
}
在命令行窗口输入以下命令
// 编译源码为可运行的jar包
kotlinc D:\kotlin_code\hello.kt -include-runtime -d hello.jar
// 使用java执行hello.jar
java -jar D:\kotlin_code\hello.jar
// 使用java执行类名运行
java -cp D:\kotlin_code\hello.jar HelloKt
// 使用kotlin执行,需要指明main类,执行类名
kotlin -cp D:\kotlin_code HelloKt
// 或者直接运行jar包
kotlin D:\kotlin_code\hello.jar
这里有几点注意:
- -d参数指定输入文件的路径和文件名称,默认是命令行当前的目录;
- -include-runtime指的是编译生成的包中包含kotlin标准库,这样可以在没有kotlin库的Java机器上直接运行,缺点是包比较大,每个程序都自带一个Kotlin标准库;
- 使用-include-runtime生成的hello.jar大小为848KB,而不带该参数只需要1.11kB;
- 命令即可以执行jar包,也可以直接执行类(必须是含main方法的类)
如果开发的是第三方jar库供其它程序使用,而不是单独的运行程序,可以使用以下进行编译,不需要自带kotlin运行库;
需要运行时,要指明引入的库,才能运行,否则会报NoClassDefFoundError;
// 简单编译kotlin代码成jar库,该包不含Kotlin运行时类库
kotlinc D:\kotlin_code\hello.kt -d hello1.jar
// 该库供第三方使用或者有自己的main运行,需要在路径中提供编译时的kotlin运行时库
kotlin -classpath D:\kotlin_code\hello1.jar HelloKt
// 使用java运行该库
java -classpath D:\kotlinc\lib\kotlin-stdlib.jar;D:\kotlin_code\hello1.jar HelloKt
几点注意:
- 这种方式编译的jar包,无法直接运行,需要提供kotlin标准库,否则报ClassNotFound错误;
- 通过kotlin -classpath 参数指定库的路径(直接目录下的class文件不包括jar包)或者多个jar包,使用分号分割;
- 注意:java命令的classpath参数,指明搜索class文件的路径,多个路径用分号分割;对于jar包,一定要精确到的jar包名称,因为jar包也是目录,classpath不会递归搜索子目录;
在命令行输入kotlinc-jvm或者kotlinc,直接进入Kotlin的交互式Shell中,这里可以直接输入Kotlin代码,并执行输出结果;
交互式Shell是命令行窗口,在这里,Kotlin类似一门bash脚本语言一样,很方便使用;
Kotlin语言可以编写脚本文件,脚本文件一.kts结尾,脚本是直接写在文件中可以直接解释执行的代码,类似传统的脚本语言写法,不过在这里,应该只是表面上像,实际上可能仍然是编译成字节码以后执行;
新建脚本文件:D:\kotlin_code\hello.kts,输入以下代码:
import java.io.File
val folders = File(args[0]).listFiles { file -> file.isDirectory() }
folders?.forEach { folder -> println(folder)}
运行脚本:
kotlinc -script D:\kotlin_code\hello.kts C:\
// 输出C盘下所有目录路径名称
在Windows和Linux、OS X上通用的安装方法:
Linux,OS X,FreeBSB,Solaris等*Unix系统支持以下方法:
// sdkman 包管理工具
$ curl -s https://get.sdkman.io | bash
// 一定要新开终端窗口执行以下命令
$ sdk install kotlin
Max OS X 还支持以下方式:
// homebrew工具安装
$ brew update
$ brew install kotlin