Eclipse中项目清理后如何从java.lang.ClassNotFoundException恢复

Eclipse中项目清理后如何从java.lang.ClassNotFoundException恢复,eclipse,Eclipse,我只是做了一个项目…清理,然后自动没有工作 Exception in thread "main" java.lang.NoClassDefFoundError: adventure/Main Caused by: java.lang.ClassNotFoundException: adventure.Main at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessContr

我只是做了一个项目…清理,然后自动没有工作

Exception in thread "main" java.lang.NoClassDefFoundError: adventure/Main
Caused by: java.lang.ClassNotFoundException: adventure.Main
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: adventure.Main. Program will exit.
我可以进行构建,但在eclipse中并没有用于构建的输出,他们认为这是一个优势,您不能右键单击一个文件并选择compile

为什么他们让Eclipse进入这种不可管理的状态?这个州有什么好处?如果项目的这种状态没有优势,为什么可能呢

我没有做任何不寻常的事情,只是尝试使用我的构建路径来生成一个可运行的JAr,这当然失败了,因为eclipse甚至不能正确地打包JAr

该类中的代码将无法在此处显示,因为无论如何都找不到它

更新
我可以通过执行“刷新”SVN签出来重现此错误,然后在项目上工作,并且只要我使用“函数”clean-then-eclipse会自动破坏我的工作,并使项目无法继续,因为我使用的是eclipse,这是世界上开发时间最长的IDE,他们已经有十年了,而这无法完成编译之类的基本功能

我必须同意关于这个问题不太可能是由Eclipse引起的评论。即使如此,假设是:

Eclipse以这种方式工作,因为它使用autobuilder,而不是事后编译。就错误捕获而言,这可能很好,但对于大型项目来说也可能有问题。至于为什么没有提供简单的手工编译,Eclipse试图隐藏像编译这样的开发步骤,并且可能不考虑出现这样的错误的情况。

尝试关闭自动生成功能,然后再次打开: 窗口>首选项>常规>工作区>自动生成

如果这不起作用: 对包含该类的文件进行备份,然后将其删除。从备份中恢复

这两种方法都应该迫使Eclipse重新编译所有内容

如果这仍然不能解决您的问题,那么错误可能不是来自Eclipse,只是在您进行了任何清理之后,它从来没有机会找到它。谢天谢地,通过强制Eclipse重新编译,它应该会指出错误所在。

也许它并不“理想”,但在这种情况下,
在EclipseMeHalps:Project clean,and and build automatically中

这里的问题到底是什么?“如何解决这个EclipseJava.lang.ClassNotFoundException”您能给我们展示一些代码吗?或者给我们更多关于这个项目的信息。这很可能不是Eclipse问题。如果问题是ClassNotFoundException,那么解决方案显然是帮助它找到类。。。但是,由于我们对您的项目/背景一无所知,所以没有太多其他的话要说。正如@Recursed所说,这可能不是Eclipse中的bug。我没有做任何异常的事情,只是从IDE中尝试构建路径。我只使用IDE中的控件,可以在这种状态下获取我的项目。这证明了Eclipse允许不可管理的状态。伙计,每个人都有点太善良了。您已经决定Eclipse很糟糕,因为它允许您创建一个不允许您的项目编译的类路径。那是胡说八道。任何允许您重写自动类路径生成的工具都将允许您中断生成。@KevinWelker感谢您的评论。您不同意我的错误看起来完全是随机的,与我的编程无关,只是一个奇怪的eclipse配置吗?可能与Java代码无关,但与您的配置无关,这是编程的一个重要部分。很抱歉,它不起作用,我希望你能找到问题所在。你的态度似乎是“我的工具很臭,我没有做错什么”,我认为这种态度不会帮助你理解问题的原因。我祝你取得最好的结果。你在问题评论中提到你弄乱了构建路径。如果手动执行此操作,则需要刷新项目,否则clean将无法正常工作。至于您没有做错什么,您在使用Eclipse时犯了一些错误。把对与错的概念从你的头脑中拿出来,调试就会变得容易得多。在了解根本原因之前,最好假设错误是自己造成的。这并不意味着你错了。