2010-03-24 13 views
81

构建工作区进程正在运行时,Eclipse正在执行什么操作?我可以禁用它,因为它需要很长时间才能完成,我不知道是否有必要。谢谢在Eclipse中禁用构建工作区进程

+12

此外,究竟是建立工作区? – 2010-03-24 04:22:00

+13

我很想知道为什么这个过程需要阻止你在Eclipse中做其他任何事情。 – 2014-03-26 16:13:34

回答

93

建设工作空间大约是在目前使用的工作空间打开的项目中的一个检测任何进化的增量生成。

您也可以通过菜单“Project/Build automatically”禁用它。

但我会建议首先检查:

  • 如果一个项目清洁所有的/在同一种漫长的等待的构建结果
  • (禁用该选项之后),如果你有(这次与建筑自动激活)一些验证选项,如果它们对全局编译时间有影响(Preferences/ValidationsPreferences/XML/...,如果您安装了WTP)
  • 如果新的eclipse安装引用相同的工作空间(有关更多信息,请参阅this eclipse.ini)导致相同的i ssue(与建筑自动启动)

注意bug 329657(在2011年到2014年的进步打开)大约是中断一(太冗长)构建,而不是取消它:

有构建中断和取消的一个重要区别。

  • 当构建被取消时,它通常会通过放弃增量构建状态并让下一个构建完全重建来处理此问题。这在某些项目中可能会相当昂贵。
    作为一个用户,我想我宁愿等待5秒增量构建完成,而不是取消,并导致30之后第二个重建。

  • 与中断的想法是,一个建设者能够更有效地处理通过保存它的中间状态和恢复在下次调用中断。
    实际上这很难实现,所以最常见的边界是我们在调用链中的每个构建器之前/之后检查中断。

 

+0

另请参阅此线程作为成功的eclipse重新安装的示例:http://dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html – VonC 2010-03-24 05:02:43

+0

此答案不正确。项目 - >自动构建一直没有被选中,但它仍然随机决定刷新工作空间,完全阻止我在这个庞大的代码库中做任何事情,这在我不得不为客户完成任务的时候不会减少。 – 2016-09-26 18:40:03

13

您可以切换到手工打造这样做时这样可以控制。只要确保主菜单中的Project > Build Automatically未被选中。

+0

谢谢,只是想知道你是否也可以告诉我什么是建筑工作区? – 2010-03-24 04:22:31

+2

请参阅VonC的答案:) – 2010-03-24 05:47:53

2

如果从PDE或JDT代码需要编程:

public static void setWorkspaceAutoBuild(boolean flag) throws CoreException 
{ 
IWorkspace workspace = ResourcesPlugin.getWorkspace(); 
final IWorkspaceDescription description = workspace.getDescription(); 
description.setAutoBuilding(flag); 
workspace.setDescription(description); 
} 
相关问题