为什么Eclipse不更新类?

时间:2012-03-05 20:22:08

标签: java eclipse

从昨天开始,Eclipse没有更新我项目的.class个文件。例如,filename.java是最新的,但filename.class文件的修改日期为昨天。过去工作得很好。为什么会这样?

11 个答案:

答案 0 :(得分:21)

我会做的事情很少或仔细检查:

  1. 项目>清理你正在进行的项目。
  2. 项目>自动构建 - 打开以便代码在已保存的更改中在工作区中重建。
  3. 窗口>首选项并确保已安装的JRE和编译器与Java版本匹配

答案 1 :(得分:11)

我建议做以下

  1. 确保Project -> Properties -> Builders菜单
  2. 中的Java构建器处于活动状态
  3. 清理项目并重新构建它。
  4. 如果不起作用,请通过文件资源管理器手动删除.class文件,然后再试一次。

答案 2 :(得分:4)

我遇到这个问题时所遵循的步骤是:

  1. Project > Clean项目。
  2. 检查项目的属性。确认所有依赖项(JRE系统库和Maven依赖项)都处于良好状态。如果没有,请更新Maven依赖项或检查构建路径是否配置正确。
  3. 检查Project > Build Automatically是否已开启。
  4. 尝试运行该项目;它应该适当地重建项目。

答案 3 :(得分:3)

  

确保Project -> Properties -> Builders菜单中的Java构建器处于活动状态

感谢 @ ege-akpinar ,我发现由于某些原因,项目设置中的Java builder已丢失。很遗憾,您无法再次添加构建器。要解决此问题,您必须编辑项目根文件夹中的 .project 文件。确保文件中包含以下行:

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

为了进行更改,我关闭了Eclipse。之后我检查了Builders首选项,清理并再次构建项目。这一改变使它再次发挥作用。

答案 4 :(得分:0)

当安装的JRE和编译器版本不匹配时,我遇到了类似的问题。

当我选择与编译器相同版本的JRE时,它起了作用。

答案 5 :(得分:0)

也许你有旧的类文件?当我将项目添加到Git时,目标目录似乎不同。我在两个单独的文件夹中找到了重复的类文件 - 一组是旧的。然而,旧的集合似乎是&#34; goto&#34;为Tomcat设置。我通过在根项目文件夹中搜索* .class并删除所有结果来发现并解决了该问题。一旦我重建了项目 - 它完美地运作了。 (它还修复了我的“导出到战争”部署,它似乎也在拾取旧的类文件。)

答案 6 :(得分:0)

删除项目的构建文件夹,然后清理项目(确保已启用“自动构建”选项)

答案 7 :(得分:0)

要考虑的另一件事是,打开标记窗口。如果您遇到Java Build Path问题,Eclipse将不会更新它们,直到您解决它们。

答案 8 :(得分:0)

我遇到了同样的问题。解决方案是Project Java版本和JRE系统库。

按照以下步骤操作:

  1. 项目 - &gt;属性 - &gt; Java编译器[检查Java的版本例如1.6]
  2. 项目 - &gt;属性 - &gt; Java构建路径 - &gt; JRE系统库[检查版本,例如的java -6-预言]

答案 9 :(得分:0)

我有这个问题(在Eclipse Neon上)。我必须在更新目标文件夹中的类之前检查JRE系统库:

here

希望得到这个帮助。

答案 10 :(得分:0)

如果您添加,然后删除 maven对项目的支持,就会发生这种情况。

Eclipse仍将把编译后的文件放入target/classes&amp;不要进入bin(您正在与webapps文件夹同步)。

要解决此问题,请转到项目属性&amp;改变:

  • Java构建路径 => => 输出文件夹