为什么在Eclipse中使用项目清理?

3
我已经作为Java开发工程师工作了将近一年,并逐渐尝试增加自己的知识以加快开发速度。我发现自己偶尔会强制执行clean,但实际上并不知道是否需要这样做。
我知道如果使用它,项目将被完全重建,但我并不完全理解在什么情况下我需要使用它。
如果我正确理解的话,大多数甚至所有对项目的更改都将自动构建,因此只有在极少数情况下我才真正需要使用项目清理。

2
它将删除所有的 .class 文件并重新构建项目。 - Maroun
这个问题可能是重复的,请查看这里: https://dev59.com/y2855IYBdhLWcg3wFADy - pnadczuk
1
不是关于“什么”的问题,而是关于“为什么”的问题。 - Canadian Coder
2个回答

4

如果一些外部工具修改了您的输出文件夹,则清理功能非常有用。例如,您正在使用Eclipse,但偶尔通过命令行编译器编译到同一文件夹中。在这种情况下,Eclipse可能无法进行增量构建,并在代码中显示错误,而实际上它们不存在。

另一个情况是解决Eclipse编译器本身的某些bug。在非常罕见的情况下,在特定的Eclipse版本/更新中,一些必须在特定代码更改后重新编译的类可能会被编译器忽略。如果您曾经(不)幸运地遇到过这种情况,清理将对您有所帮助。


1
当你删除一个类并忘记在另一个类中删除对它的引用时,清理项目是非常有用的。如果您不清理项目,则您的本地副本仍将工作,但实际上您做的是破坏了构建。 ;) 删除的类的.class文件仍然存在,因此您的本地副本仍将工作。为了找出这样的问题,通常最好在集成系统上从头开始编译项目。

当我删除一个Java文件时,Eclipse会自动删除相应的class文件。你上次看到它保留了class文件是什么时候?你启用了“自动构建”吗? - Aaron Digulla
不,我已经禁用了它。 ;) - Carlo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接