8

我想用 main 方法创建一个简单的 java 类,但是当我编译我的代码时,我收到了这个错误消息:

错误:在类errors.TestErrors中找不到主方法,请将主方法定义为:public static void main(String[] args)

这是源代码:

package errors;

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

为什么我看到这个错误,你可以注意到我已经声明了 main 方法!

4

7 回答 7

21

正如我在评论中所说,看起来您已经String在自己的类中声明了一个类。为了证明这一点,我创建了一个基本示例:

class String {
}

public class CarelessMain {
    public static void main(String[] args) {
        System.out.println("won't get printed");
    }
    public static void main(java.lang.String[] args) {
        System.out.println("worked");
    }
}

如果执行此代码,它将"worked"在控制台中打印。如果您注释第二种main方法,应用程序将抛出此消息的错误(与您的环境类似):

错误:在 edu.home.poc.component.CarelessMain 类中找不到主方法,请将主方法定义为:

public static void main(String[] args)
于 2013-10-12T20:59:04.423 回答
3

如果您的完整项目配置不正确,或者您的项目中的一个类在这种情况下仍然存在一些错误,通常会发生这种情况 IDE 将提示说明该项目包含一些错误并且您仍然继续(即运行您的类),因为项目有一些新的错误不会创建类,IDE 将运行以前可用的类

为了确保这是你的情况,你可以在你的项目中添加新类并尝试运行它,如果你不存在这样的类,那么它就是一个完美的证据

于 2014-02-14T11:28:27.180 回答
2

只需检查您的java文件,它还没有保存。编译前请保存所有java文件。

于 2016-09-30T19:02:14.387 回答
0

如果上面的答案对您不起作用:确保“main”在您的方法定义中没有大写。

好的: public static void main(String[] args)

错误: public static void Main(String[] args)

尽管错误消息明确了 main 方法所需的语法,但很难发现不正确的大写字母。今天我花了大约 30 分钟的故障排除才找到这个错字。这显然不是 OP 的问题,而是产生相同错误消息的另一种简单/可能的方法,这个答案可能会帮助其他用户。

于 2018-12-01T20:18:48.917 回答
0

我刚才有这个问题。出现此错误是因为我切换出的 JRE 文件没有完整的库。在我更正/添加正确的 JRE 系统库后,问题就消失了。

于 2020-03-11T01:12:49.333 回答
-1

右键单击类名(您正在尝试运行)->运行方式->运行配置->在主类选项卡下

写下你的主要班级名称并点击运行。

于 2017-03-26T10:50:49.630 回答
-1

尝试评论第一行。

//package errors;
于 2017-11-26T13:18:57.880 回答