Deshabilitar el proceso de construcción del espacio de trabajo en Eclipse


87

¿Qué está haciendo Eclipse cuando se está ejecutando el proceso de construcción del espacio de trabajo? ¿Puedo desactivarlo porque está tardando mucho en completarse y no sé si es necesario? Gracias


12
Además, ¿qué es exactamente la construcción de un espacio de trabajo?
Super Cat

15
Me encantaría saber por qué este proceso debe impedirle hacer cualquier otra cosa en Eclipse.
Tony Topper

Respuestas:


102

El espacio de trabajo de construcción se trata de la construcción incremental de cualquier evolución detectada en uno de los proyectos abiertos en el espacio de trabajo utilizado actualmente.

También puede desactivarlo a través del menú " Project / Build automatically".

Pero recomendaría primero verificar:

  • si un Proyecto Limpiar todo / Construir da como resultado el mismo tipo de espera larga (después de deshabilitar esta opción)
  • si tiene (esta vez con la construcción activada automáticamente) algunas opciones de validación, puede deshabilitarlas para ver si tienen una influencia en el tiempo de compilación global ( Preferences / Validationso Preferences / XML / ...si tiene WTP instalado)
  • si una nueva instalación de eclipse que hace referencia al mismo espacio de trabajo (consulte este eclipse.ini para obtener más información) da como resultado el mismo problema (con la construcción activada automáticamente)

Tenga en cuenta que el error 329657 (abierto en 2011, en progreso en 2014) trata de interrumpir una compilación (demasiado larga), en lugar de cancelarla :

Existe una diferencia importante entre la interrupción de compilación y la cancelación.

  • Cuando se cancela una compilación, normalmente lo maneja descartando el estado de compilación incremental y dejando que la siguiente compilación sea una reconstrucción completa. Esto puede resultar bastante caro en algunos proyectos.
    Como usuario, creo que preferiría esperar a que finalice la compilación incremental de 5 segundos en lugar de cancelar y dar como resultado una reconstrucción de 30 segundos después.

  • La idea con la interrupción es que un constructor podría manejar la interrupción de manera más eficiente al guardar su estado intermedio y reanudar la siguiente invocación.
    En la práctica, esto es difícil de implementar, por lo que el límite más común es cuando verificamos la interrupción antes / después de llamar a cada constructor de la cadena.

 


Vea también este hilo como un ejemplo de reinstalación exitosa de eclipse: dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html
VonC

1
Esta respuesta no es correcta. Project -> Build Automatically siempre ha estado desmarcado, pero aún así decide al azar actualizar el espacio de trabajo, impidiéndome por completo hacer algo en esta gigantesca base de código que no puedo reducir en el tiempo que tengo para completar tareas para los clientes.
Spencer Williams

15

Puede cambiar a la compilación manual para poder controlar cuándo se hace. Solo asegúrese de que Project > Build Automaticallyen el menú principal esté desmarcado.


Gracias, me pregunto si también puede decirme qué es exactamente la construcción de un espacio de trabajo.
Super Cat

3

si es necesario programática desde un código PDE o 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 cualquiera que tenga un problema en el que la compilación automática no está marcada pero el proyecto aún se está construyendo. Asegúrese de que su proyecto no se implemente en el servidor en la pestaña del servidor y se le indique que permanezca sincronizado.


Vale la pena mencionar brevemente cómo determinar si la 'orden de permanecer sincrónico' está en efecto; no veo ninguna mención de esto en la pestaña de mis servidores, por ejemplo, ni cuando reviso el menú contextual de propiedades en el servidor ...
Razzle
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.