1. 安装Kotlin compiler
1. 手动操作
从Github Releases下载最新版。
解压得到:
├── bin
│ ├── kotlin
│ ├── kotlin.bat
│ ├── kotlinc
│ ├── kotlinc.bat
│ ├── kotlinc-js
│ ├── kotlinc-js.bat
│ ├── kotlinc-jvm
│ ├── kotlinc-jvm.bat
│ ├── kotlin-dce-js
│ └── kotlin-dce-js.bat
包含kotlin编译器的一些命令。可以将这些添加到系统bin
目录,用来全局使用。
kotlin compiler的运行还依赖一些jar包,在lib
目录下,查看kotlinc
命令脚本可以发现:
findKotlinHome() {
local source="${BASH_SOURCE[0]}"
while [ -h "$source" ] ; do
local linked="$(readlink "$source")"
local dir="$(cd -P $(dirname "$source") && cd -P $(dirname "$linked") && pwd)"
source="$dir/$(basename "$linked")"
done
(cd -P "$(dirname "$source")/.." && pwd)
}
KOTLIN_HOME="$(findKotlinHome)"
if [ -n "$KOTLIN_RUNNER" ];
then
java_args=("${java_args[@]}" "-Dkotlin.home=${KOTLIN_HOME}")
kotlin_app=("${KOTLIN_HOME}/lib/kotlin-runner.jar" "org.jetbrains.kotlin.runner.Main")
else
[ -n "$KOTLIN_COMPILER" ] || KOTLIN_COMPILER=org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
java_args=("${java_args[@]}" "-noverify")
kotlin_app=("${KOTLIN_HOME}/lib/kotlin-preloader.jar" "org.jetbrains.kotlin.preloading.Preloader" "-cp" "${KOTLIN_HOME}/lib/kotlin-compiler.jar" $KOTLIN_COMPILER)
fi
"${JAVACMD:=java}" $JAVA_OPTS "${java_args[@]}" -cp "${kotlin_app[@]}" "${kotlin_args[@]}"
脚本会判断是否存在KOTLIN_RUNNER
环境变量,如果存在就会建立一个kotlin_app
变量,最后调用java
命令执行。创建kotlin_app
的过程中会写入一些jar
作为lib使用。而 KOTLIN_HOME 是通过findKotlinHome
方法放回的当前shell执行的绝对路径,所以手动安装需要将这些lib拷贝到和bin目录同级的地方。
例如:
将bin
目录下命令拷贝到系统/usr/local/bin/
里,那么lib
里的 jar 就要拷到 /usr/local/lib/
里,然后就可以在系统任何使用 kotlin 的命令了。
最后安装好是这样:
/usr/local/bin
$ ls | grep "kotlin*"
kotlin
kotlinc
kotlinc-js
kotlinc-jvm
kotlin-dce-js
/usr/local/lib
$ ls | grep "kotlin*"
...
kotlin-ant.jar
kotlin-compiler.jar
kotlin-daemon-client.jar
kotlin-jslib.jar
kotlin-jslib-sources.jar
kotlin-preloader.jar
kotlin-reflect.jar
kotlin-reflect-sources.jar
kotlin-runner.jar
kotlin-runtime.jar
kotlin-runtime-sources.jar
...
2. 自动安装
- 使用 SDKMan
- 使用 Homebrew
- 使用 MacPorts
2. 第一个Application
- 创建
hello.kt
源码文件
fun main(args: Array<String>){
println("Hello Word")
}
- 使用 Kotlin 的编译器(
kotlinc
)编译源文件
kotlinc -h
可以查看各参数帮助
$ kotlinc hello.kt -include-runtime -d hello.jar
-include-runtime 参数:Include Kotlin runtime in to resulting .jar
- 运行Applicatioin
$ java -jar hello.jar
编译一个库
如果正在开发要由其他Kotlin应用程序使用的库,则可以在不包括Kotlin运行时的情况下生成.jar文件。
$ kotlinc hello.kt -d hello.jar
由于以这种方式编译的二进制文件依赖于Kotlin运行时,因此每当使用编译的库时,应确保后者存在于类路径中。
也还可以使用kotlin
脚本来运行Kotlin编译器生成的二进制文件:
$ kotlin -classpath hello.jar HelloKt
HelloKt是Kotlin编译器为名为hello.kt的文件生成的主类名
使用交互式编程环境
可以运行不带参数的编译器来创建交互式shell。 然后输入任何有效的Kotlin代码并查看结果。
$ kotlinc-jvm
Welcome to Kotlin version 1.2.10 (JRE 1.8.0_131-b11)
Type :help for help, :quit for quit
>>> :help
Available commands:
:help show this help
:quit exit the interpreter
:dump bytecode dump classes to terminal
:load <file> load script from specified file
>>> println("Hello KT")
Hello KT
>>>
使用命令行运行Kotlin脚本
Kotlin也可以用作脚本语言。 脚本是后缀为(.kts)的Kotlin源文件。
// hello.kts
println("print args")
for(arg in args){
println(arg)
}
使用 -script
参数指定执行脚本文件
$ kotlinc -script hello.kts 1 2 3 4 5
print args
1
2
3
4
5
网友评论