首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >错误:在类MyClass中找不到Main方法,请将main方法定义为...

错误:在类MyClass中找不到Main方法,请将main方法定义为...
EN

Stack Overflow用户
提问于 2011-03-23 23:02:28
回答 3查看 215.7K关注 0票数 61

新的Java程序员在尝试运行Java程序时,经常会遇到如下消息。(不同的Java工具、IDE等为这个问题提供了各种诊断方法。)

代码语言:javascript
复制
Error: Main method not found in class MyClass, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

代码语言:javascript
复制
Error: Main method not found in the file, please define the main method as: 
   public static void main(String[] args)

代码语言:javascript
复制
Error: Main method is not static in class MyClass, please define the main method as:
   public static void main(String[] args)

代码语言:javascript
复制
Error: Main method must return a value of type void in class MyClass, please
define the main method as:
   public static void main(String[] args)

代码语言:javascript
复制
java.lang.NoSuchMethodError: main
Exception in thread "main"

这意味着什么,是什么导致了它,人们应该做些什么来修复它?

EN

回答 3

Stack Overflow用户

发布于 2011-03-23 23:12:39

一般来说,这意味着你正在尝试运行的程序没有"main“方法。如果你要执行一个Java程序,被执行的类必须有一个main方法:

例如,在文件Foo.java

代码语言:javascript
复制
public class Foo {
    public static void main(final String args[]) {
        System.out.println("hello");
    }
}

这个程序的编译和运行应该没有问题--如果main被调用了其他东西,或者不是静态的,它就会生成您遇到的错误。

每个可执行程序,无论语言如何,都需要一个入口点,告诉解释器、操作系统或机器从哪里开始执行。在Java的例子中,这是静态方法main,传递给它的参数是包含命令行参数的args[]。这个方法相当于C语言中的int main(int argc, char** argv)

票数 2
EN

Stack Overflow用户

发布于 2015-02-28 00:19:59

我觉得上面的答案漏掉了一个场景,即使你的代码有一个main(),这个错误也会发生。当您使用使用Reflection来调用方法的JNI时。在运行时期间,如果找不到该方法,您将获得一个

java.lang.NoSuchMethodError: No virtual method

票数 0
EN

Stack Overflow用户

发布于 2021-06-03 21:10:29

如果您使用的是VSCode:

选择:清理工作区

选择:重新启动和删除

继续编码:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5407250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档