即使我已经宣布它,也找不到主要方法

时间:2013-10-12 20:51:21

标签: java

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

  

错误:在类错误中找不到主要方法。测试错误,请定义   主要方法为:public static void main(String [] args)

这是源代码:

package errors;

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

为什么我看到这个错误,因为你可以注意到我的alreader声明了主要的方法!

6 个答案:

答案 0 :(得分:19)

正如我在评论中所说,看起来你已经在自己的班级中宣布了一个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)

答案 1 :(得分:3)

如果您的完整项目未正确配置,通常会发生这种情况 或者你的项目中的一个班级仍有一些错误 在这种情况下,IDE将提示说明项目包含一些错误 你还在继续(即上课) 由于项目有一些错误,因此不会创建新类,IDE将运行 以前可用的课程

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

答案 2 :(得分:1)

只需检查您的java文件,它尚未保存。请在编译之前保存所有java文件。

答案 3 :(得分:0)

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

好: { "plugins": [["search-and-replace", { rules: [ { "search": "searchedString", "replace": "replacement" }, { "search": /myRegex/, "replace": "replacement" } ] }]] }

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

尽管错误消息使main方法所需的语法清晰易懂,但很难发现错误的大写字母。今天,我花了30分钟的故障排除时间才能找到此错字。对于OP来说,这显然不是问题,而是产生相同错误消息的另一种简单/可能的方式,此答案可能会对其他用户有所帮助。

答案 4 :(得分:0)

我刚遇到这个问题。之所以出现此错误,是因为我退出的JRE文件没有完整的库。我更正/添加了正确的JRE系统库后,问题就消失了。

答案 5 :(得分:-1)

右键单击类名(您尝试运行) - >运行As->运行配置 - >在Main Class选项卡下

写下您的主要班级名称并点击“运行”。