线程“main”中的异常java.lang.NoSuchMethodError:main

时间:2010-08-22 03:58:26

标签: java exception

  

可能重复:
  Exception in thread “main” java.lang.NoSuchMethodError: main

我收到了上述消息。代码如下:

class Test
{
 public static void main(String ar[])
 {
  printf("hai");
 }
}

如何导致此问题以及如何解决?

4 个答案:

答案 0 :(得分:6)

您尝试执行的类没有main方法。

由于您的main方法在语法上看起来很好,这可能有两个原因:

  1. 你正在执行错误的课程。
  2. 实际的类文件不包含此代码。
  3. 解决方案显而易见:

    1. 确保您的命令指向正确的类文件,您可能有多个具有相同名称的类文件并且位于错误的目录中。
    2. 确保您之前已将正确的源文件编译到正确的类文件中,您可能已编辑过其中一个而忘记重新编译。

答案 1 :(得分:4)

除了导致当前异常的问题(参见BalusC的回答),Java中正确的“Hello World”是:

class Test
{
    public static void main(String[] args) {
        System.out.println("hai");
    }
}

请参阅:java.lang.System

答案 2 :(得分:1)

我看到你的问题,签名不正确。 它应该是public static void main(String [] args)

答案 3 :(得分:1)

它也可能是一个类路径问题,导致Eclipse感到困惑,并且在尝试运行它时无法找到您的类。我会查看Project Properties中的Java Build Path以确保没有错误。