Desativar processo de construção de espaço de trabalho no Eclipse


87

O que o Eclipse está fazendo quando o processo de construção do espaço de trabalho está em execução? Posso desabilitar porque está demorando muito para ser concluído e não sei se é necessário. Obrigado


12
Além disso, o que exatamente é construir um espaço de trabalho?
Super Cat

15
Eu adoraria saber por que esse processo precisa impedir você de fazer qualquer outra coisa no Eclipse.
Tony Topper

Respostas:


102

Construir espaço de trabalho é sobre a construção incremental de qualquer evolução detectada em um dos projetos abertos no espaço de trabalho usado atualmente.

Você também pode desativá-lo através do menu " Project / Build automatically".

Mas eu recomendaria primeiro verificar:

  • se um Projeto Limpar tudo / Construir resultar no mesmo tipo de longa espera (após desativar esta opção)
  • se você tem (desta vez com a construção ativada automaticamente) algumas opções de validação que você pode desativar para ver se elas têm uma influência no tempo de compilação global ( Preferences / Validationsou Preferences / XML / ...se você tem o WTP instalado)
  • se uma nova instalação do eclipse referenciando o mesmo espaço de trabalho (veja este eclipse.ini para mais) resultar no mesmo problema (com a construção ativada automaticamente)

Observe que o bug 329657 (aberto em 2011, em andamento em 2014) é sobre interromper uma compilação (muito longa), em vez de cancelá- la:

Há uma diferença importante entre interromper e cancelar build.

  • Quando uma construção é cancelada, ele normalmente lida com isso descartando o estado de construção incremental e permitindo que a próxima construção seja uma reconstrução completa. Isso pode ser bastante caro em alguns projetos.
    Como usuário, acho que prefiro esperar a conclusão da construção incremental de 5 segundos em vez de cancelar e resultar em uma reconstrução de 30 segundos depois.

  • A ideia com a interrupção é que um construtor poderia lidar com a interrupção com mais eficiência salvando seu estado intermediário e retomando na próxima chamada.
    Na prática, isso é difícil de implementar, portanto, o limite mais comum é quando verificamos se há interrupção antes / depois de chamar cada construtor na cadeia.

 


Veja também este tópico como um exemplo de reinstalação bem-sucedida do eclipse: dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html
VonC

1
Esta resposta não está correta. Projeto -> Construir Automaticamente sempre foi desmarcado, mas ainda assim decide atualizar o espaço de trabalho aleatoriamente, me impedindo completamente de fazer qualquer coisa nesta base de código gigantesca que não consigo reduzir no tempo que tenho para concluir tarefas para os clientes.
Spencer Williams

15

Você pode alternar para a construção manual para controlar quando isso for feito. Apenas certifique-se de que Project > Build Automaticallyno menu principal esteja desmarcado.


Obrigado, gostaria de saber se você também pode me dizer o que exatamente é um espaço de trabalho de construção?
Super Cat

3

se necessário, programático de um código PDE ou JDT:

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

0

Para qualquer um que esteja enfrentando um problema em que a construção automática está desmarcada, mas o projeto ainda está em construção. Certifique-se de que seu projeto não foi implantado no servidor na guia do servidor e informado para permanecer sincronizado.


Vale a pena mencionar brevemente como determinar se o 'instruído a permanecer síncrono' está em vigor - não vejo nenhuma menção a isso na minha guia de servidores, por exemplo, nem quando verifico o menu de contexto de propriedades no servidor.
Razzle
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.