やりたいこと
みんな最初に実行する以下のコードをコマンドラインでビルドして実行する。
import kotlinx.coroutines.*
fun main() {
GlobalScope.launch { // launch a new coroutine in background and continue
delay(1000L) // non-blocking delay for 1 second (default time unit is ms)
println("World!") // print after delay
}
println("Hello,") // main thread continues while coroutine is delayed
Thread.sleep(2000L) // block main thread for 2 seconds to keep JVM alive
}
前提条件
- MacOS
- Javaインストール済み
- Mavenインストール済み
- 上のソースが
first.kt
という名前でカレントディレクトリにある
実施する作業
- kotlinコンパイラのダウンロード
- kotlin coroutineのjarファイルのダウンロード
- ソースコードのコンパイル
- コマンドラインから実行
手順
1 . kotlinコンパイラのダウンロード
公式サイトに手順の記載あり [(ここ)] (https://kotlinlang.org/docs/tutorials/command-line.html#downloading-the-compiler)
2 . kotlin coroutineのjarファイルのダウンロード
以下のコマンドを実行すると、
カレントディレクトリに kotlinx-coroutines-core-1.3.5.jar
がDLされます。
mvn dependency:get -Dartifact=org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5 -Ddest=./
3 . ソースコードのコンパイル
以下のコマンドを実行すると
カレントディレクトリに first.jar が生成されます。
kotlinc -cp kotlinx-coroutines-core-1.3.5.jar first.kt -include-runtime -d first.jar
4 . コマンドラインから実行
以下のコマンドを実行
java -cp ./first.jar:./kotlinx-coroutines-core-1.3.5.jar FirstKt
なぜこれをやったか?
理由は以下の3点
- [遊び場] (https://play.kotlinlang.org/) で実行すると
Hello
とWorld
が同時に表示されて微妙だと思ったから - 拡張ライブラリを使ったkotlinのソースをコマンドラインでビルドしてみたかった
- AndroidStudioを立ち上げるのが面倒だった