我想用main方法创建一个简单的java类,但是当我编译代码时,我收到此错误消息:
错误:在类错误中找不到主要方法。测试错误,请定义 主要方法为:public static void main(String [] args)
这是源代码:
package errors;
public class TestErrors {
public static void main(String[] args){
System.out.println("hello");
}
}
为什么我看到这个错误,因为你可以注意到我的alreader声明了主要的方法!
答案 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选项卡下
写下您的主要班级名称并点击“运行”。