2012-05-01 28 views
2

Eclipse SDKでプログラムをコンパイルして実行しようとすると、このエラーが表示されます。前にこのエラーメッセージが出たことはありませんでした。他の投稿はあまり役に立ちません。何が原因でしょうか?メインクラスが見つかりませんでした:プログラムは終了します

+1

関連するコードとエラーのスタックトレースを掲載してください。 – Bernard

+11

追加したこの詳細の詳細は、この投稿は役に立ちません。 – joni

+1

@Matt:解決策を見つけた回答の1つにコメントを付けてください。リクエストされたとおり、回答を受け入れてください。あなたの解決策が答えの一つで覆われていない場合は、あなた自身が質問に答えてその答えを受け入れることができます。 – GreenMatt

答えて

1

メインメソッドを持たないJavaクラスを実行しようとしています。メインメソッドを追加し、それを "スターター"メソッドと呼びます。

public static void main(String[] args){ 
    MyClass mc = new MyClass(); 
    mc.myStarterMethod(); 
} 
1

Javaプログラムを実行するときは、どこから起動するかを知っておく必要があります。 Javaでは、次のシグネチャを持つ主な方法である。

public static void main(string[] arguments) 

Javaプログラムを実行すると、実行するメインメソッドが検索されます。そのメインメソッドは、あなたの他のコードのいずれかを呼び出すことができますが、それは出発点を必要とします。

プログラムに異なるメソッドのリストがある場合は、どのメソッドを実行するかをどのように知っていますか?一度見つけたすべての方法を実行するだけですか?それは悪くなるだろう。

ですから、

public static void main(string[] arguments){ 
    System.out.println("here"); 
    //Call your methods 
    //myFunction(); 
    //doThing(); 
    return; 
} 
2

のようなものを必要とするエラーは、「メイン」の方法については何も言いません。主なクラスを見つけることができないと言います...

私はちょっとグーグルであり、それにはたくさんの理由があります:ANTの誤ったバージョン(Antベースプロジェクト用)から始まり、JavaクラスJRE7でコンパイルし、JRE6で実行してください。

あなたの環境に関する詳細を教えてください。 Eclipse SDKはどういう意味ですか? Eclipse IDEですか?どのようなプロジェクトを作成していますか?ソースコード?

Googleもう少しヒットが多く、あなたを助けてくれるかもしれません。

+0

すべての返信をありがとう、私はそれが働いた。 – Matt

+0

管理者はトピックを閉じることができますか? – Matt

+1

これはフォーラムではありません。より有用だと思う答えを受け入れてください。方法がわからない場合は、このリンクを確認してください。http://stackoverflow.com/faq#howtoask – StepTNT

9

main()メソッドを使用していて、依然としてこれを受け取っている場合は、noclassdeffoundエラーも受け取っている場合は、スレッドエラーの一部としてエラーが表示されることがあります。以前に成功していた既存のプログラムで新しい問題が発生した場合は、コンパイルエラーが発生した可能性があります。コンパイル済みのjarファイルを削除して再コンパイルします。

1

私は突然この問題を抱えていました。私は完全にうまく動作するクラスを実行しようとしたときにmain()メソッドを持っていましたが、突然上記のエラーが発生しました。私はプロジェクトをきれいにして再構築するが、役に立たない、むしろイライラする。

問題のタブを見て、ライブラリのjarファイルがいくつか不足していて、私のワークスペースと.javaファイルがありますが、/ binの下の同じ場所にはありません.classファイルを使用しているため、クラスが見つからないことがありました。

私が行ったことは、ライブラリのjarファイルを含むディレクトリに移動されたので、これらのライブラリファイルを元に戻して、Eclipseの再起動を行いました。

+2

[問題]タブのチェックについてのアドバイス。私も同様の問題がありました。私はjarファイルへのパスをハードコーディングしていましたが、別のパーティションにWindowsをインストールしたとき、そのパスはもはや有効ではなく、eclipseはそのパスが修正されていない限りjavaファイルをコンパイルしませんでした。 – user674669

0

私はパワートリップ後も同じ問題を抱えていましたが、Eclipseはプロジェクトをコンパイルして開始しませんでした。 プロジェクトクリーンアッププロジェクト - >クリーンアップし、私の問題を解決しました。

0

パス内のEclipseにも同様の問題がありました。

これをデバッグする最も良い方法は、[Run configuration]ダイアログボックスに移動し、[Common]サブタブをクリックして、プロジェクトのディレクトリに「共有ファイル」として起動設定を保存することです。

次に、起動ファイルを表示して、明らかなものがあるかどうかを確認できます。

たとえば、私のメインクラスを起動していないEclipseの最新の原因は、maven m2eclipseプラグインを試していて、m2eclipseクラスのパス宣言が追加されたような起動設定をしていたことです。

私は、プロジェクトからmaven/m2eclipseの残差を(自動的に)削除してクラスを正常に実行できるように、プロジェクトからmavenプロジェクトタイプを削除する必要があると言いました。 このエラーが表示される興味深い方法の多くの1つだけです。

0

私は過去にまったく同じ問題を抱えていました。問題は、クラスパスにカレントディレクトリが含まれていないことです。プログラムが存在するフォルダをCLASSPATH環境変数に追加するだけです。これがうまくいかない場合は私に教えてください。

6

私はJavaでnewbeです。別のjdkを使用するプロジェクトにいくつかの変更を加えた後も同じことが起こりました。 1.7の代わりにjdk 1.6を参照するようにプロジェクトを変更しました。その後、私はこのエラーが発生し始めた。プロジェクトのプロパティ - > Javaコンパイラに行ったとき、私はすべてのドロップダウンリストに1.7があることに気付きました。私は1.6を使用するようにワークスペースの設定を変更し、すべてが動作するようになった。私はこの決議に私を導いたイゴールのポストでした。

+0

おかげでジム私は別の解決策を試みたが、あなたの問題を解決... – Aniket

2

右、プロジェクトエクスプローラでプロジェクト名をクリックプロパティを選択し、Javaコンパイラを選択し、あなたがコンパイラー準拠レベルにシステムにインストールされていること(1.6など)JREのバージョンを選択し、をクリックしますOKをクリックしてプログラムを実行してください!完了!

+0

これは私にとってはうまくいった、私はJava 6で作業している、私はコンパイラをjava 5に変更した。私は一度コンパイルしたプロジェクトをコンパイルした。私は再びJava 6にコンパイルし直して、問題を解決した。ありがとう! – Israelm

0

packageステートメントを使用していて、ソースステートメントがpackageステートメントで参照されているパスにない場合は、これを取得できます。

0

このエラーは、jdkコンパイラのバージョンで示されています。 適切なコンパイラ(jre1.6または1.7など)を使用してください。

0

私はEclipse IDEでも同様の問題がありました。

1 go to run menu 
2 go to run configurations 
3 see the error on the title bar (top of screen) 
4 these errors are caused due to compatibility jre 1.6 or jre 1.7 
5 choose accordingly the execution path 
6 run your program 
0

プロジェクトをクリーンに再構築して問題を解決しました。

関連する問題