2 flat logo on transparent 256
2018-02-02

【初心者・独学者向け】Javaのmainメソッドでよく発生するエラーについて解説

Pc02121

Javaのプログラミング初心者がよく遭遇するmainメソッドに関するエラーについて解説します。

Exception in thread "main" java.lang.NoSuchMethodError: main

これはJavaの実行時に指定したクラスの中にあるmainメソッドを呼び出そうとしたが、そのような名前のメソッドが見つからなかった場合に出るエラーです。

コマンドプロントコル上でjavaを実行した際に発生し、
エクリプス上では、mainメソッドが抜けていると自動でエラーが検出されます。

エラーになるコード

class Test{
  public  void (String args[]){
    System.out.println("正しく動作しない");
  }
}

正しく動作するコード

class Test{
  public  void main(String args[]){
    System.out.println("正しく動く");
  }
}

ちなみにstaticを記述し忘れた場合にも同じエラーが発生します。

エラーになるコード

class Test{
  public  void main(String args[]){
    System.out.println("正しく動かない");
  }
}

なおmainを定義しているのに、staticを定義していない場合はエクリプス上で実行前のエラーにならず、
実行後に下記エラーメッセージが表示されます。

エラー: メイン・メソッドがクラス〇〇のstaticではありません。
次のようにメイン・メソッドを定義してください。
   public static void main(String[] args)
前の記事
次の記事