web-dev-qa-db-ja.com

エラー:選択にメインタイプが含まれていません

新しいプロジェクトでいくつかのJavaファイルを実行しようとしています。そこで、プロジェクトを作成し、その中にファイルを入れて、メインファイルを実行してゲームを開始します。

selection does not contain a main typeというエラーが表示されます。

私はそれを実行するためにいくつかの方法を試しました:

  • Eclipseを再び起動すると言う人もいますが、これを何十回も試しました。
  • 他のどこかで誰かが新しいプロジェクトを開き、古いプロジェクトへのビルドパスを作成するように指示しました。

動作しませんでした。

数時間前に学校でそれを実行したので、私はそれが機能しなければならないと確信しています。これをどのように機能させるのですか?前もって感謝します!

44
user2321611

この方法でメインクラスを実行しようとしていることを願っています。スクリーンショットを参照してください。 enter image description here

いいえの場合はこの方法を試してください。はいの場合は、実行するクラスにメインメソッドi-eがあることを確認してください

public static void main(String[] args){ // some code here}

同じ定義。これがお役に立てば幸いです。

22
NoNaMe

メインクラスを配置するフォルダーを右クリックし、Build Path-> Use as Source Folderをクリックします。

最後に、メインファイルをJavaアプリケーションとして実行します。この問題が解決されることを願っています。

52
Rashid

他の答えはすべて有効ですが、問題が解決しない場合は、srcフォルダー内にクラスがない場合があります。その場合、Eclipseはプロジェクトの一部としてクラスを認識できません。これは、あなたが見たのと同じエラーメッセージも呼び出します。

45
zen

Javaプログラムのエントリポイントはメソッドです。

public static void main(String[] args) {
    //Code
}

これがない場合、プログラムは実行されません。

6
Aza

これを解決するには、新しいソースフォルダーを追加し、そのフォルダー内にJavaファイルを配置しました。 「ソースフォルダー」は、私が信じているフォルダーだけではありません。 Java/Eclipse用の特別なフォルダータイプで、プロジェクトを右クリックして[プロパティ]-> Java buldパス->ソースを選択し、フォルダーを追加してEclipseに追加できます。

5
mishal153

チェックアウトするものはほとんどありません:

  1. メインパッケージはありますか?すべてのクラスはこのパッケージの下にありますか?
  2. Public static void main(String [] args)でメインクラスを使用しますか?
  3. 宣言します:package;あなたのメインクラスで?
  4. プロジェクトを実行する前にいつでもクリーンアップできます。 Eclipseで-[プロジェクト]-> [クリーン]に移動して、アプリを再度実行します。
3
Eyal Sooliman

私は同じ問題に遭遇しました。パッケージを右クリックして修正しました->プロパティ-> Java Build Path-> Add folder(コードが存在するフォルダーを選択します)。

3
Yang Zhang

UbuntuからEclipseを実行しています。これと同じ問題があり、ターミナルを介してプログラムを実行できました。そこで、既存のpublic static void main(String[] args) {をクラス宣言のすぐ下に移動し(Eclipseによって自動的にフォーマットされました)、次の起動は成功しました。その後、メインメソッドを以前の場所に戻し、今回は正常に機能しました。

3
hipokito

すべてのファイル(file.Java)をルートフォルダーSRCの下に配置する必要があります。

1
Dev M

メインJavaクラスファイルをsrc/main/Javaフォルダーに配置し、プロジェクトを右クリックしてJava Build Path->Sourceを選択して、「Javaビルドパス」にエラーがないかどうかを確認します。

1
Rajiv Ranjan

Mavenプロジェクトで作業している場合、ディレクトリレイアウトが少し異なるという事実を理解する必要があります。この場合、パッケージ名はsrc/main/Javaでなければなりません。

このため、プロジェクトを右クリックしてソースフォルダーを更新しますルートフォルダー->プロパティ-> Javaビルドパス->ソースタブ。間違った方法で追加された可能性があるため、他のすべてのソースフォルダーを削除します。次に、ソースフォルダーとしてプロジェクト/ src/main/Javaを選択します。変更を追加して適用します。 F5を使用してワークスペースを更新します。

これにより、メインタイプが認識されない問題が修正されます。

0

この問題は2つのプロジェクトで発生しました。 Mavenとコマンドラインは両方とも期待どおりに機能しました。問題はEclipse固有のものでした。 2つの異なるソリューション:プロジェクト1):メインメソッド宣言をクラス内の最上部、フィールドやコンストラクターなどの他のすべての宣言の上に移動します。クレイジーですが、うまくいきました。プロジェクト2):プロジェクト1)の解決策は問題を改善しませんでした。ただし、ロンボクのインポートを削除し、ゲッターメソッドを明示的に記述することで問題を解決しました

結論:Eclipseおよび/またはlombokプラグインにはバグがあります。

0
Øyvind Roth

public static void main(String[] args)mainが小文字であることを確認してください。私にとっては、大文字で持っていたときに機能しませんでした。

0
sander

ファイルを保存するとき、拡張子が.Javaであることを確認してください。そうでない場合、EclipseはそれをJavaファイルとして読み取ることを認識しません。

0
KC McLaughlin

Eclipseのプロジェクトにイメージを追加し、ビルドパスの一部にした後、これが繰り返し発生しました。解決策は、mainメソッドを含むクラスを右クリックし、[実行]-> Javaアプリケーションを選択することでした。ファイルをビルドパスに追加すると、Eclipseは自動的にそのファイルがmainメソッドがある場所であると想定するようです。緑色の「実行」ボタンをクリックするだけでなく、「実行」メニューを使用することにより、正しいエントリポイントを指定できます。

0
Keven M

右クリック> Run AS> Run Configurations

この画面で「メインクラス」テキストフィールドが空の場合、テキストフィールドの右側にある「検索」ボタンをクリックしてクラス名を追加し、クラスファイルを選択します。そして、構成画面の下部にある「実行」ボタンをクリックします。それでおしまい

0
Yithirash

私は同じ問題にぶつかり、public static void main(String args){...}を囲む余分な中括弧(中括弧)のペアがあることを発見しました。このメソッドは、実際にはクラスの最上位スコープにある必要があり、中括弧で囲まないでください。 Eclipseで作業する場合、このメソッドを中括弧で囲むことは可能だと思われます。これは、Eclipseで作業しているときにこの問題を確認できる1つの方法にすぎません。ハッピーコーディング!

0
shivesh suman