找不到主类:程序将退出

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

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

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

该错误没有说明“主要”方法。 它说它无法找到主类……

所以,我google了一点,有很多原因:从错误版本的ANT(基于ant的项目)开始,包括用JRE7编译的java类,并用JRE6运行…

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

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

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

您正在尝试运行没有main方法的java类。 添加一个main方法,让它调用你的“启动”方法。

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

当您运行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; } 

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

我看了一下Problems选项卡,说我丢失了几个库jar文件,我看了我的工作区,我的.java文件就在那里,但在/ bin下的同一个地方没有.class文件,这就是它无法找到课程的原因。

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

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

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

我发现调试它的最好方法是转到Run configuration对话框,然后单击“Common”子选项卡并将启动配置保存为项目目录中的“Shared file”。

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

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

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

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

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

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

我有一个与eclipse ide类似的问题。

 1 go to run menu 2 go to run configurations 3 see the error on the title bar (top of screen) 4 these errors are caused due to compatibility jre 1.6 or jre 1.7 5 choose accordingly the execution path 6 run your program 

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