Eclipse不会将java文件编译成类

时间:2013-08-02 07:05:49

标签: java eclipse

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

Exception in thread "main" java.lang.NoClassDefFoundError

21 个答案:

答案 0 :(得分:36)

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

如果项目中存在任何问题,eclipse将拒绝编译

答案 1 :(得分:11)

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

希望对其他人有帮助

答案 2 :(得分:10)

当“由于某些原因”您的项目已损坏且Eclipse中项目名称附近有红色图标时,会出现此问题。解决方案是保存项目的文件夹,在Eclipse中删除项目,而不是在Eclipse中再次创建项目,复制以前保存的所有文件。

答案 3 :(得分:6)

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

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

您还可以从“项目属性”中配置构建器 - &gt;助洗剂

答案 4 :(得分:4)

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

enter image description here

答案 5 :(得分:3)

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

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

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

答案 6 :(得分:3)

  1. 您的项目可能存在错误,或上述答案中提到的其他原因。
  2. 或者你可能像我这样的傻瓜
  3. 谁将源代码移动到其他文件夹而未更新项目构建属性中的源路径。在这种情况下,它也没有给出任何错误或类文件。 检查一下。

    转到 项目属性 - &gt; Java构建路径 - &gt;来源

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

答案 7 :(得分:3)

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

答案 8 :(得分:1)

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

答案 9 :(得分:1)

我遇到了这个问题,我尝试进行清理,手动构建,打开,关闭项目,删除和打开等操作,但没有任何效果,在4个小时后,我找到了一种对我有效的解决方法。 >

  1. 请,如果整个备份文件夹无法正常工作,您可以在整个项目文件夹中进行RAR,ZIP或复制作为备份,好吧,现在:

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

  3. 删除项目(警告,请确保未选择“删除内容”,否则项目将消失)。对我来说,它说明了代码混合的不同步性,并处于休眠状态,等等)

  4. 关闭myEclipse

  5. 重新启动计算机。

  6. 打开myEclipse

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

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

答案 10 :(得分:1)

我在eclipse中遇到了没有找到加载模块的问题,并且没有创建类文件。 解决方案:转到创建新项目&gt;在JRE部分下选择Use project Specific JRE。 现在创建了Class文件。

答案 11 :(得分:0)

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

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

所以我要解决的问题是重新安装eclipse。我使用了eclipse loader应用程序进行了重新安装。 (请注意,我没有先将其卸载)。重新安装后,从属项目能够产生类,并且事情再次按预期进行。

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

答案 12 :(得分:0)

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

-vm
/usr/lib/jvm/jdk1.8.0_202/bin

答案 13 :(得分:0)

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

答案 14 :(得分:0)

这可能是一个罕见的事件,但我声明了一个带注释的servlet,并在servlet映射名称之前省略了&#34; /&#34; 。我花了一个多小时追逐我的尾巴,安装新服务器,以为我甚至可能需要重新安装我的IDE,这就是这个简单的错误!每次我尝试从动态Web项目加载任何页面时,都会出现404错误。我甚至无法加载普通的hilla html页面。确实需要使用IDE和服务器交互进行更好的错误记录,因为没有错误指示,我的servlet从未在我的Web应用程序启动时调用。希望这有助于拯救别人一些挫败感。总是用/ slash命名你的servlet,比如/ myServlet,而不仅仅是myServlet。

答案 15 :(得分:0)

从构建路径中删除所有Jars(库)并刷新并添加所有jar并清理并构建项目

答案 16 :(得分:0)

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

答案 17 :(得分:0)

只需重启机器即可。 它很奇怪,但它帮助我们在我们公司中出现这种类型的大量问题,原因不明。始终重启机器有帮助。 尝试运行Junit测试时通常会遇到这种情况,即使Run配置指向/ bin也无法找到类。

答案 18 :(得分:0)

同时确保项目的构建路径中没有致命错误的项目(带有!符号的项目),该项目不在bin目录下生成类

答案 19 :(得分:0)

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

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

答案 20 :(得分:-1)

会出现这样的情况:如果您在eclipse中打开了项目资源管理器,那么它可能不会显示在/ ** / build / classes下生成的类,在这种情况下打开该项目的Navigator视图并检查其下的构建目录项目