为什么eclipse不会重新编译对我的Java类进行的最后更改?

时间:2015-10-21 14:57:04

标签: java eclipse

我有一个只有1行的简单文件,在main中打印“Hello World”。我执行它并在eclipse控制台上打印“Hello World”。现在当我将字符串更改为 “再见世界”它仍然印有“Hello World”。事实上,如果我通过修改println到prrrintln导致语法错误。它仍然打印“Hello World”。什么可以导致eclipse不使用最新的文件? 当我尝试从命令行运行它时,我收到以下错误:

bin> java WordBreakProblem.class 
Error: Could not find or load main class WordBreakProblem.class

这两个问题之间是否有相关性?

3 个答案:

答案 0 :(得分:6)

  1. 自动检查构建
  2. enter image description here

    2。 运行WordBreakProblem类的正确方法是

    java WordBreakProblem
    

    而不是

    java WordBreakProblem.class
    

    还要确保使用

    将java源代码编译为WordBreakProblem.class
    javac WordBreakProblem.java
    

    在执行第2步之前。

    3。 如果代码仍然没有刷新,请尝试“清理”。

    enter image description here

答案 1 :(得分:2)

默认情况下,Eclipse会在保存更改后重新编译项目。 Project>注意到了这一点。自动构建。如果未选中此选项,则在保存一个小更改后,eclipse不会重新编译工作区。 IMO这个选项在你有太多的项目/文件时是没用的,重新编译可能需要几分钟。

如果您已禁用此选项(例如我),请在Window>中选中此其他选项。偏好>运行/调试>启动>在启动之前构建(如果需要):

Build before launching

如果禁用此选项,则无论您在项目中更改类或资源多少次,都必须在启动项目之前手动触发项目的构建。

答案 2 :(得分:1)

您是否重新保存了代码?在eclipse中,您需要保存所做的更改,否则它将运行以前保存的内容。或者如果没有保存到正确的区域,可能会尝试重建路径。