Eclipse:Selection does not contain a main type



Eclipseで以下のようなエラーが発生することがある。

これは、メインとなるクラスを右クリックして、実行させようとした時に発生する。

当然ながら、「public static void main(String[]args)」メソッドは定義済だ。プロジェクトをcleanして再構築させてもだめ。何をやってもダメなのである。ネットを検索してみても、「mainが定義されてないから」などとありきたりなことしか書いてない。

しかし解決法があった。いったんこのクラスをmainだけにしてしまうのである。

public class ServerStarter {
  public static void main(String[]args) throws Exception {
  }
}

その後で実行してみると、ちゃんと実行できる。その後でクラスを元の状態に戻して見ると、やはり実行できる。さらに、EclipseのRunボタンにもスロットができているので、ここからも実行可能になる。

結局のところ、一体全体何が問題なのかわからないのだが、回避する方法はわかった。