23

我不知道为什么,但从今天起 Eclipse 不会将 .java 文件编译成 .class。我按下“运行”按钮,Eclipse 只尝试运行程序而不是先编译它,所以我一直收到这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError
4

21 回答 21

40

从窗口打开问题视图 -> 显示视图 -> 问题,如果有任何错误,请修复它

如果您的项目有任何问题,eclipse 将拒绝编译

于 2013-08-02T07:49:05.307 回答
15

关闭项目 -> 打开项目 -> 清理 -> 刷新

希望对其他人有帮助

于 2014-12-16T08:46:17.047 回答
12

当您的项目“由于某些原因”损坏并且在 Eclipse 中的项目名称附近有一个红色图标时,就会出现此问题。解决方案是保存项目的文件夹,在 Eclipse 中删除项目,然后在 Eclipse 中重新创建项目,以应对之前保存的所有文件。

于 2013-08-02T07:46:40.953 回答
7

我在使用 Eclipse Luna 时遇到了这个问题,出于某种原因,项目中缺少 Java 构建器。验证在您的 .project 文件中是否有类似的内容

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>     
</buildSpec>

您还可以从 Project Properties -> Builders 配置构建器

于 2014-11-06T10:22:45.870 回答
7

当我遇到这个完全相同的问题时,它的原因一直是相同的,并且解决方案对我来说 100% 的时间都有效。它是由项目的 Java 构建路径中缺少 jar 文件引起的,并由项目图标上的红色感叹号装饰指示。要解决此问题,请转到项目|属性|Java 构建路径,单击库选项卡,然后删除或修复所有丢失的 jar 文件的路径。如果您的项目配置为自动重新构建,它应该在您应用更改后立即开始构建。

在此处输入图像描述

于 2017-07-23T15:50:39.417 回答
4

eclipse在构建类时需要擦除输出文件夹。

该文件夹位于Project Properties -> Java Build Path -> Default Output Folder. 它可能与 Eclipse Preferences 下的一般输出文件夹名称不同。如果由于某种原因无法删除此输出文件夹(例如,在 Windows 上,当在此位置打开 shell 时),该项目将被标记为已损坏(如 Marco Micheli 所述)并且不会构建类。

您只需要确保可以删除输出文件夹。

于 2014-11-05T13:06:04.783 回答
4

是的,我正面临这个问题。Coz Eclipse 无法为构建路径错误构建项目。检查您的外部 jar 文件是否显示任何错误。删除缺少的或显示重新颜色的Jar文件。删除那个。从正确的路径或位置添加一个新的。如果所有错误都消失了。然后在项目 bin 文件夹中将创建一个类文件,然后将无法加载主类错误也将被删除。

于 2017-10-04T04:37:00.173 回答
3
  1. 您的项目中可能存在错误,或者上述答案中提到的其他原因。
  2. 或者你可能像我一样是个傻瓜

谁将源代码移动到其他文件夹并且未更新项目构建属性中的源路径。在这种情况下,它也没有给出任何错误或类文件。也检查一下。

转到项目属性 -> Java 构建路径 -> 源

添加或链接新的源文件夹位置。

于 2015-06-19T10:29:50.267 回答
1

清理所有项目!这将清除所有旧的类文件,因此 eclipse 被迫再次生成它们。

于 2013-08-02T07:08:40.387 回答
1

有时构建路径中的 jars 可能会丢失,即使我们没有使用它。由于存在错误,java 文件不会编译成类。可以从问题视图中检查错误。

从构建路径中删除 jars 或将缺少的 jars 放在构建路径中。

于 2014-07-16T09:40:01.340 回答
1

我在 Eclipse 中遇到了找不到加载模块的问题,并且没有创建类文件。解决方案:转到创建新项目 > 在 JRE 部分下选择使用项目特定 JRE。现在创建类文件。

于 2016-06-09T17:06:34.060 回答
1

请检查您的构建路径设置中是否存在所有 jar。如果缺少任何 jar,则可能会出现此问题。

于 2018-12-27T07:14:59.340 回答
1

我遇到了这个问题,我尝试了清理,手动构建,打开,关闭项目,删除和打开等,没有任何效果,4小时后我得到了一个适合我的解决方法。

  1. 请制作一个 RAR、ZIP 或从您的整个项目文件夹中复制作为备份,如果它不起作用并且您搞砸了,好的,现在:

  2. 清理项目。它从输出文件夹中清除了我的所有类文件,但在清除建筑物后不会生成类文件(但我们已经知道了)

  3. 删除项目(警告,确保未选择删除内容,否则您的项目将消失)。对我来说,它说明了代码混合和休眠的不同步,blabla)

  4. 关闭我的Eclipse

  5. 重启你的电脑。

  6. 打开我的Eclipse

  7. 使用“文件夹或存档中的项目”选项导入项目,而不是“将现有项目导入工作区”选项。

  8. Myeclipse开始构建类文件,我不知道为什么,但对我有用,我希望这对其他人有帮助。

于 2020-03-02T08:54:57.397 回答
0

还要确保没有在 bin 目录下生成类的项目的构建路径中没有出现致命错误的项目(带有 ! 符号的项目)

于 2015-04-13T06:17:09.873 回答
0

只需重新启动您的机器。这很奇怪,但它帮助我们在公司中遇到了大量此类问题,原因不明。总是重新启动机器有帮助。它通常在尝试运行 Junit 测试时遇到,即使运行配置指向 /bin,它也找不到类。

于 2016-04-27T12:22:48.420 回答
0

我遇到了类似的问题:以前编译和运行的java文件不能再运行了。Eclipse 显示“找不到类 xxxx”。当我检查 bin 文件夹时,以前的 .class 文件不见了。这就是 Eclipse 无法运行文件的原因,而不是因为文件中的错误。我不知道为什么它不能只是重新编译文件,以及为什么 .class 文件首先丢失了。
但我找到了一个解决方案:
只需在同一个包中创建一个虚拟 java 文件(不做任何事情就创建),然后运行它。然后神奇地所有以前的 .class 文件都回来了。我可以像以前一样运行这些文件。

于 2016-06-09T21:15:31.340 回答
0

只需从构建路径中删除您的所有罐子(库)并刷新并添加所有罐子并清理和构建项目

于 2017-03-02T11:11:11.033 回答
0

这可能是一个罕见的事件,但我声明了一个带有注释的 servlet,并在 servlet 映射名称之前省略了“/” 。我花了一个多小时追赶我的尾巴,安装新服务器,想着我什至可能需要重新安装我的 IDE,这就是这个简单的错误!每次我尝试从我的动态 Web 项目中加载任何页面时,都会收到 404 错误。我什至无法加载普通的 html 页面。IDE 和服务器交互确实需要更好的错误日志记录,因为错误的指示为零,并且在我的 Web 应用程序启动时从未调用过我的 servlet。希望这有助于节省其他人的一些挫败感。始终使用 /myServlet 之类的 / 斜杠命名您的 servlet,而不仅仅是 myServlet。

于 2017-09-11T23:06:31.197 回答
0

我尝试了许多不同的潜在解决方案:清理、重建、删除、重新导入、更新 Maven 项目等等。我仍然无法从 Eclipse 运行我的应用程序。就我而言,原因是我使用openjdk-11运行 Eclipse ,而我的项目是在 Java 8中。在我将 Eclipse 重新配置为从 Java 8 运行之后,一切都开始工作(在 eclipse.ini 中)。

-vm
/usr/lib/jvm/jdk1.8.0_202/bin
于 2019-08-07T13:56:56.763 回答
0

我将解释我对这个问题的解决方案:“eclipse 没有将 java 文件编译成类文件”。我正在使用 Eclipse 版本“2020-03 (4.15.0)”。我有一个依赖于 java 项目的项目。对于依赖项目,我无法导出包含编译类和资源的 jar 文件。更准确地说,导出的 jar 文件不包含任何类文件。在进行项目构建后,项目的输出 bin 文件夹为空。在我尝试构建所有项目时检查控制台输出表明构建失败,因为缺少依赖项目。在查看其中一个日志输出时,我看到一些内容表明构建失败,因为缺少某些 Eclipse 类。

我尝试的其中一件事是进行 Eclipse 更新。Eclipse 提供了更改列表,我尝试应用它们,但更新失败。我尝试更新了几次,但都失败了。仔细查看提供的更新列表,我注意到建议的更新之一涉及“删除”Java 开发工具。该行有一条警告,指示由于其他依赖关系而无法删除整个功能,并且只会删除非依赖功能。听起来是不是很可疑。为什么更新试图删除 Java 开发工具?我的猜测是从 Java 开发工具中删除了导致构建过程失败的某些内容。我之前看到的缺失类听起来也很可疑,它可能是 Java 开发工具功能的一部分。

所以我为解决这个问题所做的就是重新安装eclipse。我使用 eclipse 加载器应用程序进行重新安装。(注意,我没有先卸载它)。重新安装后,依赖项目能够生成类,并且事情再次正常工作。

我当然不知道 eclipse 版本是如何进入这种妥协状态的,但在我的情况下,重新安装 eclipse 是我能找到解决问题的唯一方法。

于 2020-03-18T20:25:21.983 回答
-1

会有这样的情况:如果您在 Eclipse 中打开了项目资源管理器,那么它可能不会显示在 /**/build/classes 下生成的类,在这种情况下,请打开该项目的导航器视图并检查同一项目下的构建目录。

于 2014-09-23T01:12:55.620 回答