IntelliJ IDEを使用してJVMのKotlinで新しいプロジェクトを開始したいのですが、動作するように構成を取得できません。私は このチュートリアル を実行しようとしていましたが、その後は機能しませんでした(「Run '_DefaultPackage'」オプションが表示されることもありませんでした)。 。これまでに起こったこと(繰り返し):
fun main(args: Array<String>){
println("Hello world!")
}
public class Main {
fun main(args: Array<String>) {
println("Hello world!")
}
}
私は何が欠けていますか?
Mainメソッドが静的ではないため、プロジェクトを組み立てることはできません。したがって、コンパニオンオブジェクトで定義する必要があります。
class HelloKotlin {
companion object {
@JvmStatic fun main(args: Array<String>) {
println("Kotlin main is running here!")
}
}
}
最上位のmain()
関数の実行可能クラスを識別する方法、またはクラス内でmain()
メソッドを使用する方法の完全な回答は、この他のStack Overflowの回答に記載されています。 Kotlinクラスの実行方法
これは、コマンドラインでの実行、Intellij(質問のとおり)、Gradleなどでの実行を対象としています。
指定された「メインクラス:」-> com.mypackage.MainKt
そして、パッケージ「com.mypackage」にKotlinファイル「Main」を作成します
package com.mypackage
fun main(args: Array<String>) {
println("Hello Kotlin!")
}
メイン関数を含むファイルを開き、メニュー->「構成の編集」に移動し、ダイアログで「+」を選択し、タイプとして「アプリケーション」を選択し、ボタンをクリックしてメインクラスを設定します一番上の入力ボックス(「メインクラス」というラベルの付いたボックス)の横。
「モジュールのクラスパスを使用」を選択し、ドロップダウンボックスからモジュールを選択します。 「適用」をクリックして、ダイアログを閉じます。これで、shift + F10で実行し、shift + F9でデバッグし、shift + alt + F10で実行構成を編集できるはずです。メイン画面の右上にある2つのボタンから実行またはデバッグすることもできます。
Main.ktファイルをプロジェクトのsrcフォルダー内に移動して問題を解決しました。つまり、IntelliJはMainKtクラスを見つけることができました。
Kotlinプラグインを更新する必要があり(これはごく最近公開されました)、実行するための右クリックオプションが表示され始めました。私はこの問題を他の何かに突き止めることができなかったので、それだと思います。
この問題が発生している場合は、メイン関数があるソースコードファイルを右クリックして、実行、作成、またはデバッグをクリックします。
Main関数には、「main」という名前(大文字なし)と「Array」引数が必要であることに注意してください。それを機能させようとする新しいプロジェクトを作成していたときに、それが私を数回捉えました。
実行したいクラスを右クリックし、Run ClassNameKtオプションを選択するだけで、残りはIntelliJ IDEによって実行されます。