Java “的目的”;“自动生成”;eclipse中的选项

Java “的目的”;“自动生成”;eclipse中的选项,java,eclipse,build,Java,Eclipse,Build,Eclipse(Project-->buildautomatically)中的buildautomatically选项的目的是什么?我的总是会被检查的。但是当我有一些java代码更改时,我仍然需要进行完整的构建。有人告诉我应该经常检查。我认为这样做没有任何好处。请有人解释一下。是的,您仍然需要进行构建-但保存时会自动完成(不是像Ant构建那样的外部构建,而是“内部”构建)。如果您不想在save基础上构建,您可以取消选中该框。我相信,让它自动生成会让一些人感到紧张。如果选中“自动生成”,IDE将在

Eclipse
Project
-->
buildautomatically
)中的buildautomatically选项的目的是什么?我的总是会被检查的。但是当我有一些java代码更改时,我仍然需要进行完整的构建。有人告诉我应该经常检查。我认为这样做没有任何好处。请有人解释一下。

是的,您仍然需要进行构建-但保存时会自动完成(不是像Ant构建那样的外部构建,而是“内部”构建)。如果您不想在save基础上构建,您可以取消选中该框。我相信,让它自动生成会让一些人感到紧张。

如果选中“自动生成”,IDE将在您修改和保存文件时自动编译Java代码。这并不意味着它将完全构建和打包您的整个解决方案,就像您将要部署它一样,比如您正在WAR模块的Web项目中工作。它基本上只是编译代码。

Eclipse有一个很好的答案:


您有两种工作模式:自动构建模式和手动构建模式。默认情况下,您处于自动构建模式,Eclipse负责自动编译源文件。每次更改工作区中的文件(例如保存编辑器)时,生成都会在后台自动发生。自动构建很方便,因为它意味着问题视图、二进制文件等始终是最新的。缺点是,在大型工作区中,如果要更改具有大量下游依赖项目的项目中的文件,则自动生成可能会非常耗时

如果自动构建花费的时间太长,并且干扰了正在进行的开发,则可以将其关闭。一旦进入手动构建模式,用户就可以完全控制何时生成以及生成什么。可以随时调用Project>Build All(Ctrl+B)来触发自动生成正在自动执行的操作。这允许您在调用构建之前构建一组更大的更改(Eclipse会记住哪些文件已经更改,这样当您请求构建时,它就不必做比所需更多的工作)

请注意,当他们说“自动构建模式”时,他们的意思是如果您选中了“自动构建”,当他们说“手动构建模式”时,他们的意思是您没有选中“自动构建”。

注意
对于C/C++用户,它被告知:

默认情况下,Eclipse workbench配置为自动生成项目。但是,对于C/C++开发,您应该禁用此选项,否则,无论何时(例如)保存对makefile或源文件的更改,都将重新生成整个项目。单击“项目>自动生成”,并确保在B旁边没有复选标记自动生成菜单项


项目-禁用自动生成选项并不总是意味着自动生成处于关闭状态。例如,“Makegood”测试自动化插件将在启动前的首选项-运行/调试-启动-(常规选项)生成处于打开状态时触发自动生成。因此,如果需要手动生成,请将其关闭。

另一个区别是:
大多数情况下,在处理JSP时,它会帮助我检查“自动生成”。它会自动获取JSP中的更改。
但是,如果在java类/XML中进行更改,则需要手动构建。 因为我使用的是通过命令提示符在eclipse外部运行的树脂服务器,所以我更喜欢选中该选项。
当我在eclipse中安装服务器时,我会将其关闭并使用服务器上发布。


这是我使用的方法,答案是基于我的经验。

这里人们没有提到的一件事(我也花了一段时间才弄明白这一点)是eclipse构建(自动或手动)将基本上遵循您在项目的“Java构建路径”中概述的内容“源”选项卡。因此,当一个文件包含在“生成源”选项卡中时,当您更改该文件时,它会被复制/编译到为该目录/文件指定的输出文件夹中。

您通过保存来生成的是什么?该生成与ANT有何不同build@pushya:通常,Ant构建可能会自动运行测试,或构建到separate区域准备部署,可能构建jar文件,可能在每次构建之前进行清理。内部构建通常只会在输出目录中创建类文件,并复制资源。特别是,这对于单元测试等的快速周转非常有用-但是如果您想要一个可复制的、从头开始的、所有测试都运行的etc构建,那么您可以“我想使用类似Ant的东西。@JonSkeet-当您运行监视代码更改的嵌入式web应用程序服务器时,自动生成的设置往往会对性能产生负面影响。在这种情况下,频繁的代码更改会导致服务器重复重新启动,并最终导致IDE崩溃。@Perception:如果我遇到这种情况,我会e embedded server monitor是一个不同的目录,它只在显式构建时写入。我不想在任何时候都无法运行新代码的单元测试…@JonSkeet-同意这绝对是一种处理方法。我个人将我的嵌入式服务器设置为手动部署(没有任何代码监控)。但我的团队中有一些固执的开发人员,他们似乎很享受IDE崩溃带来的痛苦!最后一句话不正确,对于WTP项目,它会将您的应用程序重新部署到服务器上。前提是您将其设置为自动部署。“每次更改工作区中的文件时,构建都会在后台自动进行。”(例如保存编辑器)。“-清晰简单