メインクラスの名前を知る
現在 (M14 以降の Kotlin には最大 1.0 ベータ版が含まれています)、Kotlin クラスを実行するには、実際にはファイル レベルで作成された特別なクラスを実行しています。このクラスは、main()
トップレベル (クラスまたはインターフェイスの外部) の関数やその他の関数を保持します。 . したがって、コードが次の場合:
// file App.kt
package com.my.stuff
public fun main(args: Array<String>) {
...
}
その後、クラスを実行することでプログラムを実行できますcom.my.stuff.AppKt
。この名前は、ファイル名に がKt
追加されたものです (以前のバージョンは追加されていますKT
が、後のベータ版と 1.0 は ですKt
)。このファイル ターゲット アノテーションを追加することで、ファイル内のこのクラスの名前を変更できます。
@file:JvmName("MyApp")
またはmain()
、コンパニオン オブジェクトを使用してクラスに入れ、アノテーションstatic
を使用して作成することもできます。JvmStatic
したがって、あなたのクラス名はあなたが選んだものです:
// file App.kt
package com.my.stuff
public class MyApp {
companion object {
@JvmStatic public fun main(args: Array<String>) {
...
}
}
}
これらのメソッドのいずれかで、クラスを実行するだけですcom.my.stuff.MyApp
他にどのような JAR ファイルが必要ですか?
アプリケーションの JAR と依存関係が必要です。Maven/Gradle 以外の場合の Kotlin 固有の JAR には、以下を含む Kotlin ディストリビューションが必要です。
kotlin-runtime.jar
(ランタイムと stdlib の組み合わせ)
kotlin-reflect.jar
Kotlin リフレクションを使用する場合のみ
kotlin-test.jar
Kotlin アサーション クラスを使用する単体テスト用
現在、Maven/Gradle 内には別のkotlin-stdlib.jar
Intellij からの実行
Intellij (IDE の場合) でmain()
関数を右クリックして [実行] を選択すると、ランタイム構成が作成され、使用される完全修飾クラス名が表示されます。生成されたクラスの名前がわからない場合は、いつでもそれを使用できます。
Gradle からの実行
Gradle アプリケーション プラグインを使用して、 Gradleからプロセスを実行したり、JAR の zip/tgz とそのすべての依存関係、および起動スクリプトを含む実行可能なシステムを作成したりすることもできます。上記のサンプル クラスを使用して、これを に追加しますbuild.gradle
。
apply plugin: 'application'
mainClassName = 'com.my.stuff.AppKt'
// optional: add one string per argument you want as the default JVM args
applicationDefaultJvmArgs = ["-Xms512m", "-Xmx1g"]
次に、コマンドラインから次を使用します。
// run the program
gradle run
// debug the program
gradle run --debug-jvm
// create a distribution (distTar, distZip, installDist, ...)
gradle distTar
Java コマンドラインから直接実行する
実行可能な JAR がありKOTLIN_LIB
、Kotlin ランタイム ライブラリ ファイルが存在するディレクトリを指していると仮定すると、次のようになります。
java -cp $KOTLIN_LIB/kotlin-runtime.jar:MyApp.jar com.my.stuff.AppKt
必要になる可能性のあるその他の JAR ファイルについては、上記の注意事項を参照してください。実行可能な JAR がある場合のわずかな違い (マニフェストcom.my.stuff.AppKt
がメイン クラスとして指定されている):
java -cp $KOTLIN_LIB/kotlin-runtime.jar -jar MyApp.jar
Kotlin コマンドライン ツールを使用した実行
Homebrewまたはその他のパッケージ マネージャーを介して Kotlin ツールをインストールする場合。(Mac OS X のbrew update ; brew install kotlin
場合) 次に、実行するのは非常に簡単です。
kotlin -cp MyApp.jar com.my.stuff.AppKt
このコマンドは、提供されたクラスパスにランタイムを追加し、クラスを実行します。上記の「Java からの実行」セクションで説明したように、追加の Kotlin ライブラリを追加する必要がある場合があります。
Kotlin コンパイラで実行可能な JAR を作成する
ほとんどの人が他のビルド ツールを使用しているため、これはあまり一般的ではありませんが、Kotlin コンパイラは、バンドル時にこれを解決する実行可能な Jar を作成できます ( http://kotlinlang.org/docs/tutorials/command-line.htmlを参照)。ランタイムとコードを一緒に。これは、Maven や Gradle などのツール、または IDE ビルドを使用する場合には一般的ではありません。次に、通常の Java を使用して実行します。
java -jar MyApp.jar