3

Kotlin をいじっていたときに、Kotlin で書かれた JavaFX アプリ用の jar を生成できるかどうか疑問に思いました。そこで、簡単なアプリを作成し、IntelliJ IDEA で動作しましたが、jar を生成することにしたとき、動作しませんでした! メインクラスが見つからない、またはロードできないと表示されます。

問題は、プロジェクト設定でメイン クラスを要求されたときに、アプリケーション クラス名を入力したことだと思います (パッケージ レベルである必要があるため、メイン メソッドは含まれていません)。純粋な Java では、 main メソッドをアプリケーション クラス内に配置すると、完全に機能します。では、どうすればこれを回避できますか?

EDIT:ターゲットをJavaFXアプリケーションから通常のJarに変更しようとしたところ、うまくいきました。JavaFX アプリケーション ターゲットで動作しない理由がわかりません。

4

1 に答える 1

1

という名前のパッケージでメイン関数が定義されている場合foo.bar:

package foo.bar

fun main(args: Array<String>) {
   // ...
}

次に、メイン クラスはfoo.bar.BarPackage、パッケージの最上位関数を保持するために Kotlin コンパイラによって生成されます。

于 2014-09-24T13:21:25.490 に答える