2

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

4

14 回答 14

9

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

于 2012-05-20T21:17:18.377 回答
8

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

于 2013-02-27T14:38:50.113 回答
2

该错误没有说明“主要”方法。它说它找不到主要课程...

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

您能否向我们提供更多有关您的环境的信息?Eclipse SDK 是什么意思?它是 Eclipse IDE 吗?您正在创建什么样的项目?源代码?

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

于 2012-05-02T13:08:18.820 回答
2

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

于 2013-12-18T10:38:35.380 回答
1

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

public static void main(string[] arguments)

当你运行 java 程序时,它会寻找一个 main 方法来运行。然后,该 main 方法可以调用您的任何其他代码,但它需要一个起点。

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

所以你需要类似的东西

public static void main(string[] arguments){
    System.out.println("here");
    //Call your methods
    //myFunction();
    //doThing();
    return;
}
于 2012-05-01T20:53:27.167 回答
1

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

public static void main(String[] args){
    MyClass mc = new MyClass();
    mc.myStarterMethod();
}
于 2012-05-01T20:42:14.237 回答
1

我突然遇到了这个问题,当我尝试运行可以完美运行的类并且是的它们有 main() 方法时,我突然得到了上述错误。我尝试清理和重建项目,但无济于事,相当令人沮丧。

我查看了“问题”选项卡,说我缺少一些库 jar 文件,我查看了我的工作区,我的 .java 文件在那里,但在 /bin 下的同一个地方没有 .class 文件,这就是它找不到课程的原因。

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

于 2012-10-06T22:01:49.940 回答
0

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

于 2013-12-31T07:26:38.133 回答
0

断电后我遇到了同样的问题,Eclipse 没有编译和启动我的项目。做了一个项目清理项目 - >清理它解决了我的问题。

于 2012-11-04T11:36:07.643 回答
0

我对 Eclipse IDE 也有类似的问题。

  1. 去运行菜单
  2. 去运行配置
  3. 查看标题栏上的错误(屏幕顶部)
  4. 这些错误是由于兼容性 jre 1.6 或 jre 1.7 引起的
  5. 相应地选择执行路径
  6. 运行你的程序
于 2015-03-07T18:24:06.133 回答
0

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

于 2013-02-19T04:24:16.347 回答
0

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

于 2015-03-02T17:38:00.150 回答
0

路径中的 Eclipse 也有类似的问题。

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

然后你可以查看启动文件,看看有没有什么明显的。

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

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

于 2013-01-16T22:09:45.677 回答
0

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

于 2017-04-13T06:55:01.340 回答