找不到主类:程序将退出

时间:2012-05-01 20:37:44

标签: java compiler-errors

当尝试在Eclipse SDK中编译和运行我的程序时,会弹出此错误。我之前从未遇到此错误消息,其他帖子不是很有帮助。什么可能导致这种情况?

14 个答案:

答案 0 :(得分:9)

如果您有一个main()方法并且仍在接收此方法,那么如果您还收到noclassdeffound错误,该错误也可能显示为线程错误的一部分。如果这是您之前已成功使用的现有程序的新问题,则可能是因为编译错误。删除已编译的jar文件并重新编译。

答案 1 :(得分:7)

我是Java的新手。在我对我的项目进行一些更改以使用不同的jdk后,我发生了同样的事情。我已将我的项目更改为引用jdk 1.6而不是1.7。然后我开始收到此错误。当我去项目属性 - > Java编译器时,我注意到它在所有下拉列表中都有1.7。我将工作区设置更改为使用1.6,一切都开始工作。伊戈尔的帖子让我得到了这个决议。

答案 2 :(得分:2)

错误没有说明“主要”方法。它说找不到主要的班级......

所以,我搜索了一下,有很多原因:从错误版本的ANT(基于蚂蚁的项目)开始,包括用JRE7编译的java类,并用JRE6运行......

您能否提供一些关于您的环境的更多信息? Eclipse SDK是什么意思?它是Eclipse IDE吗?你在创建什么样的项目?源代码?

谷歌多一点,有很多点击,有人可能会帮助你。

答案 3 :(得分:2)

右键单击项目资源管理器中的项目名称,选择 properties ,选择 Java compiler ,选择您在系统中安装的JRE版本(如1.6) 编译器合规性级别,然后单击“确定”并运行该程序!完成!

答案 4 :(得分:1)

您正在尝试运行没有main方法的java类。添加一个main方法,并将其称为“启动”方法。

public static void main(String[] args){
    MyClass mc = new MyClass();
    mc.myStarterMethod();
}

答案 5 :(得分:1)

运行java程序时,必须知道从哪里开始。在java中,约定是一个main方法,具有以下签名:

public static void main(string[] arguments)

运行java程序时,它会查找要运行的主方法。那个主方法可以调用你的任何其他代码,但它需要一个起点。

如果你的程序有一个不同方法的列表,它怎么知道你想要运行哪一个?您是否希望它只运行一次找到的每个方法?那会很糟糕。

所以你需要像

这样的东西
public static void main(string[] arguments){
    System.out.println("here");
    //Call your methods
    //myFunction();
    //doThing();
    return;
}

答案 6 :(得分:1)

我突然遇到这个问题,当我尝试运行完全正常运行的类时,是的,他们有main()方法,我突然得到了上述错误。我把项目清理干净并重建,但无济于事,相当令人沮丧。

我查看了“问题”选项卡,并说我丢失了一些库jar文件,我查看了我的工作区,我的.java文件在那里,但是在/ bin下面的同一个地方没有。类文件,这是它无法找到类的原因。

我所做的是移动了包含库jar文件的目录,因此将这些库文件移回,重新启动eclipse将其排序。

答案 7 :(得分:0)

上电后我遇到了同样的问题,Eclipse没有编译并启动我的项目。 项目清理项目 - >干净,它解决了我的问题。

答案 8 :(得分:0)

在路径中遇到过与Eclipse类似的问题。

我发现调试此方法的最佳方法是转到“运行配置”对话框,然后单击“公共”子选项卡,将启动配置保存为项目目录中的“共享文件”。

然后您可以查看启动文件以查看是否有任何明显的内容。

例如,Eclipse没有启动我的主类的最新原因是我一直在尝试使用maven m2eclipse插件并且已经错误地启动了启动配置,以便添加了m2eclipse类路径声明。

那告诉我,我需要从项目中删除maven项目类型,然后从发布文件中自动清除maven / m2eclipse残差(自动),然后我的类可以正常运行。 只是这个错误可能出现的许多有趣方式之一。

答案 9 :(得分:0)

过去我遇到过完全相同的问题。问题是类路径不包括当前目录。只需将程序所在的文件夹添加到CLASSPATH环境变量中。如果这不起作用,请告诉我。

答案 10 :(得分:0)

如果您使用的是package语句,则可以获得此信息,但源代码不在package语句中引用的路径中。

答案 11 :(得分:0)

此错误显示为jdk编译器版本。 请使用适当的正确编译器(如jre1.6或1.7)。

答案 12 :(得分:0)

我在Eclipse IDE中遇到了类似的问题。

  1. 转到运行菜单
  2. 转到运行配置
  3. 查看标题栏上的错误(屏幕顶部)
  4. 这些错误是由兼容性jre 1.6或jre 1.7
  5. 引起的
  6. 相应地选择执行路径
  7. 运行您的程序

答案 13 :(得分:0)

清理并重建项目解决了我的问题。