我不知道为什么,但从今天起 Eclipse 不会将 .java 文件编译成 .class。我按下“运行”按钮,Eclipse 只尝试运行程序而不是先编译它,所以我一直收到这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError
从窗口打开问题视图 -> 显示视图 -> 问题,如果有任何错误,请修复它
如果您的项目有任何问题,eclipse 将拒绝编译
关闭项目 -> 打开项目 -> 清理 -> 刷新
希望对其他人有帮助
当您的项目“由于某些原因”损坏并且在 Eclipse 中的项目名称附近有一个红色图标时,就会出现此问题。解决方案是保存项目的文件夹,在 Eclipse 中删除项目,然后在 Eclipse 中重新创建项目,以应对之前保存的所有文件。
我在使用 Eclipse Luna 时遇到了这个问题,出于某种原因,项目中缺少 Java 构建器。验证在您的 .project 文件中是否有类似的内容
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
您还可以从 Project Properties -> Builders 配置构建器
eclipse在构建类时需要擦除输出文件夹。
该文件夹位于Project Properties -> Java Build Path -> Default Output Folder
. 它可能与 Eclipse Preferences 下的一般输出文件夹名称不同。如果由于某种原因无法删除此输出文件夹(例如,在 Windows 上,当在此位置打开 shell 时),该项目将被标记为已损坏(如 Marco Micheli 所述)并且不会构建类。
您只需要确保可以删除输出文件夹。
是的,我正面临这个问题。Coz Eclipse 无法为构建路径错误构建项目。检查您的外部 jar 文件是否显示任何错误。删除缺少的或显示重新颜色的Jar文件。删除那个。从正确的路径或位置添加一个新的。如果所有错误都消失了。然后在项目 bin 文件夹中将创建一个类文件,然后将无法加载主类错误也将被删除。
谁将源代码移动到其他文件夹并且未更新项目构建属性中的源路径。在这种情况下,它也没有给出任何错误或类文件。也检查一下。
转到项目属性 -> Java 构建路径 -> 源
添加或链接新的源文件夹位置。
清理所有项目!这将清除所有旧的类文件,因此 eclipse 被迫再次生成它们。
有时构建路径中的 jars 可能会丢失,即使我们没有使用它。由于存在错误,java 文件不会编译成类。可以从问题视图中检查错误。
从构建路径中删除 jars 或将缺少的 jars 放在构建路径中。
我在 Eclipse 中遇到了找不到加载模块的问题,并且没有创建类文件。解决方案:转到创建新项目 > 在 JRE 部分下选择使用项目特定 JRE。现在创建类文件。
请检查您的构建路径设置中是否存在所有 jar。如果缺少任何 jar,则可能会出现此问题。
我遇到了这个问题,我尝试了清理,手动构建,打开,关闭项目,删除和打开等,没有任何效果,4小时后我得到了一个适合我的解决方法。
请制作一个 RAR、ZIP 或从您的整个项目文件夹中复制作为备份,如果它不起作用并且您搞砸了,好的,现在:
清理项目。它从输出文件夹中清除了我的所有类文件,但在清除建筑物后不会生成类文件(但我们已经知道了)
删除项目(警告,确保未选择删除内容,否则您的项目将消失)。对我来说,它说明了代码混合和休眠的不同步,blabla)
关闭我的Eclipse
重启你的电脑。
打开我的Eclipse
使用“文件夹或存档中的项目”选项导入项目,而不是“将现有项目导入工作区”选项。
Myeclipse开始构建类文件,我不知道为什么,但对我有用,我希望这对其他人有帮助。
还要确保没有在 bin 目录下生成类的项目的构建路径中没有出现致命错误的项目(带有 ! 符号的项目)
只需重新启动您的机器。这很奇怪,但它帮助我们在公司中遇到了大量此类问题,原因不明。总是重新启动机器有帮助。它通常在尝试运行 Junit 测试时遇到,即使运行配置指向 /bin,它也找不到类。
我遇到了类似的问题:以前编译和运行的java文件不能再运行了。Eclipse 显示“找不到类 xxxx”。当我检查 bin 文件夹时,以前的 .class 文件不见了。这就是 Eclipse 无法运行文件的原因,而不是因为文件中的错误。我不知道为什么它不能只是重新编译文件,以及为什么 .class 文件首先丢失了。
但我找到了一个解决方案:
只需在同一个包中创建一个虚拟 java 文件(不做任何事情就创建),然后运行它。然后神奇地所有以前的 .class 文件都回来了。我可以像以前一样运行这些文件。
只需从构建路径中删除您的所有罐子(库)并刷新并添加所有罐子并清理和构建项目
这可能是一个罕见的事件,但我声明了一个带有注释的 servlet,并在 servlet 映射名称之前省略了“/” 。我花了一个多小时追赶我的尾巴,安装新服务器,想着我什至可能需要重新安装我的 IDE,这就是这个简单的错误!每次我尝试从我的动态 Web 项目中加载任何页面时,都会收到 404 错误。我什至无法加载普通的 html 页面。IDE 和服务器交互确实需要更好的错误日志记录,因为错误的指示为零,并且在我的 Web 应用程序启动时从未调用过我的 servlet。希望这有助于节省其他人的一些挫败感。始终使用 /myServlet 之类的 / 斜杠命名您的 servlet,而不仅仅是 myServlet。
我尝试了许多不同的潜在解决方案:清理、重建、删除、重新导入、更新 Maven 项目等等。我仍然无法从 Eclipse 运行我的应用程序。就我而言,原因是我使用openjdk-11运行 Eclipse ,而我的项目是在 Java 8中。在我将 Eclipse 重新配置为从 Java 8 运行之后,一切都开始工作(在 eclipse.ini 中)。
-vm
/usr/lib/jvm/jdk1.8.0_202/bin
我将解释我对这个问题的解决方案:“eclipse 没有将 java 文件编译成类文件”。我正在使用 Eclipse 版本“2020-03 (4.15.0)”。我有一个依赖于 java 项目的项目。对于依赖项目,我无法导出包含编译类和资源的 jar 文件。更准确地说,导出的 jar 文件不包含任何类文件。在进行项目构建后,项目的输出 bin 文件夹为空。在我尝试构建所有项目时检查控制台输出表明构建失败,因为缺少依赖项目。在查看其中一个日志输出时,我看到一些内容表明构建失败,因为缺少某些 Eclipse 类。
我尝试的其中一件事是进行 Eclipse 更新。Eclipse 提供了更改列表,我尝试应用它们,但更新失败。我尝试更新了几次,但都失败了。仔细查看提供的更新列表,我注意到建议的更新之一涉及“删除”Java 开发工具。该行有一条警告,指示由于其他依赖关系而无法删除整个功能,并且只会删除非依赖功能。听起来是不是很可疑。为什么更新试图删除 Java 开发工具?我的猜测是从 Java 开发工具中删除了导致构建过程失败的某些内容。我之前看到的缺失类听起来也很可疑,它可能是 Java 开发工具功能的一部分。
所以我为解决这个问题所做的就是重新安装eclipse。我使用 eclipse 加载器应用程序进行重新安装。(注意,我没有先卸载它)。重新安装后,依赖项目能够生成类,并且事情再次正常工作。
我当然不知道 eclipse 版本是如何进入这种妥协状态的,但在我的情况下,重新安装 eclipse 是我能找到解决问题的唯一方法。
会有这样的情况:如果您在 Eclipse 中打开了项目资源管理器,那么它可能不会显示在 /**/build/classes 下生成的类,在这种情况下,请打开该项目的导航器视图并检查同一项目下的构建目录。