Help us understand the problem. What is going on with this article?

Kotlin Coroutineのサンプルをコマンドラインから実行する方法

やりたいこと

みんな最初に実行する以下のコードをコマンドラインでビルドして実行する。

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という名前でカレントディレクトリにある

実施する作業

  1. kotlinコンパイラのダウンロード
  2. kotlin coroutineのjarファイルのダウンロード
  3. ソースコードのコンパイル
  4. コマンドラインから実行

手順

1 . kotlinコンパイラのダウンロード

公式サイトに手順の記載あり (ここ)

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点

  • 遊び場 で実行すると HelloWorldが同時に表示されて微妙だと思ったから
  • 拡張ライブラリを使ったkotlinのソースをコマンドラインでビルドしてみたかった
  • AndroidStudioを立ち上げるのが面倒だった
engarnet
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away