Désactiver le processus de création de l'espace de travail dans Eclipse

87

Que fait Eclipse lorsque le processus de création de l'espace de travail est en cours d'exécution? Puis-je le désactiver car cela prend beaucoup de temps et je ne sais pas si cela est nécessaire. Je vous remercie

Super chat
la source
12
Qu'est-ce que la construction d'un espace de travail exactement?
Super Cat
15
J'aimerais savoir pourquoi ce processus doit vous empêcher de faire quoi que ce soit d'autre dans Eclipse.
Tony Topper

Réponses:

102

La construction d'un espace de travail consiste à construire incrémentiel de toute évolution détectée dans l'un des projets ouverts dans l'espace de travail actuellement utilisé.

Vous pouvez également le désactiver via le menu " Project / Build automatically".

Mais je recommanderais d'abord de vérifier:

  • si un projet Clean all / Build entraîne le même type de longue attente (après avoir désactivé cette option)
  • si vous avez (cette fois avec la construction automatiquement activée) des options de validation que vous pouvez désactiver pour voir si elles ont une influence sur le temps de compilation global ( Preferences / Validationsou Preferences / XML / ...si vous avez installé WTP)
  • si une nouvelle installation d'éclipse référençant le même espace de travail (voir ce eclipse.ini pour plus) entraîne le même problème (avec la construction automatiquement activée)

Notez que le bogue 329657 (ouvert en 2011, en cours en 2014) concerne l' interruption d' un build (trop long), au lieu de l' annuler :

Il existe une différence importante entre une interruption de construction et une annulation.

  • Lorsqu'une génération est annulée, elle gère généralement cela en supprimant l'état de génération incrémentiel et en laissant la prochaine génération être une reconstruction complète. Cela peut être assez coûteux dans certains projets.
    En tant qu'utilisateur, je pense que je préférerais attendre la fin de la construction incrémentielle de 5 secondes plutôt que d'annuler et entraîner une reconstruction de 30 secondes par la suite.

  • L'idée avec interruption est qu'un générateur pourrait gérer plus efficacement l'interruption en sauvegardant son état intermédiaire et en reprenant lors de l'appel suivant.
    En pratique, cela est difficile à implémenter, donc la limite la plus courante est lorsque nous vérifions l'interruption avant / après l'appel de chaque générateur de la chaîne.

 

VonC
la source
Voir aussi ce fil comme exemple de réinstallation réussie de l'éclipse: dev.eclipse.org/newslists/news.eclipse.webtools/msg08521.html
VonC
1
Cette réponse n'est pas correcte. Projet -> Construire automatiquement a toujours été décoché, mais il décide toujours au hasard d'actualiser l'espace de travail, m'empêchant complètement de faire quoi que ce soit dans cette gigantesque base de code que je ne peux pas réduire dans le temps que je dois accomplir des tâches pour les clients.
Spencer Williams du
15

Vous pouvez passer à la construction manuelle afin de contrôler quand cela est fait. Assurez-vous simplement que Project > Build Automaticallydans le menu principal est décoché.

Chry Cheng
la source
Merci, je me demande si vous pouvez également me dire ce qu'est exactement la création d'un espace de travail?
Super Cat
3

si nécessaire programmatique à partir d'un code 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);
}
Taitelman
la source
0

Pour toute personne rencontrant un problème où la génération automatique n'est pas cochée mais le projet est toujours en cours de construction. Assurez-vous que votre projet n'est pas déployé sur le serveur dans l'onglet serveur et qu'il doit rester synchrone.

tw0shoes
la source
Il vaut la peine de mentionner brièvement comment déterminer si le 'dit de rester synchrone' est en vigueur - je ne vois aucune mention de cela dans l'onglet de mes serveurs, par exemple, ni lorsque je vérifie le menu contextuel des propriétés sur le serveur.
Razzle