web-dev-qa-db-fra.com

Objectif de l'option "Générer automatiquement" dans Eclipse

Quel est le but de l'option Générer automatiquement dans Eclipse (Project-->Build Automatically)? Le mien sera toujours vérifié. Mais chaque fois que j'ai des changements de code Java, je dois encore faire une compilation complète. On m'a dit que cela devrait toujours être vérifié. Je ne vois aucun avantage à le faire. S'il vous plaît quelqu'un Explique.

45
pushya

Oui, vous devez toujours faire une build - mais cela se fait automatiquement lorsque vous enregistrez (pas une build externe comme une build Ant, mais la build "interne"). Si vous ne vouliez pas construire sur enregistrer, vous décochez la case. Le faire construire automatiquement rend certaines personnes nerveuses, je crois.

31
Jon Skeet

Eclipse a une bonne réponse sur leur site Web :

Vous avez deux modes de travail: le mode de construction automatique et le mode de construction manuelle. Par défaut, vous êtes en mode de construction automatique et Eclipse se charge de la compilation automatique des fichiers source. Les builds se produisent automatiquement en arrière-plan chaque fois que vous modifiez des fichiers dans l'espace de travail (par exemple, l'enregistrement d'un éditeur). La construction automatique est pratique car elle signifie que les problèmes d'affichage, les binaires, etc. sont à jour à tout moment. L'inconvénient est que dans les grands espaces de travail, les constructions automatiques peuvent prendre du temps si vous modifiez des fichiers dans des projets avec beaucoup de projets dépendants en aval.

Si la construction automatique prend trop de temps et interfère avec le développement en cours, elle peut être désactivée. Une fois en mode de construction manuel, l'utilisateur a un contrôle total sur le moment où les générations se produisent et ce qui est construit. Projet> Tout construire (Ctrl + B) peut être invoqué à tout moment pour déclencher ce que la construction automatique faisait automatiquement. Cela vous permet de créer un ensemble de modifications plus important avant d'appeler une génération (Eclipse se souvient des fichiers modifiés afin de ne pas avoir à faire plus de travail que nécessaire lorsque vous demandez une génération.

Notez que quand ils disent "mode de construction automatique", cela signifie que si vous avez coché "Construire automatiquement", quand ils disent "mode de construction manuel", cela signifie que vous n'avez pas coché "Construire automatiquement".

27
Jessica Brown

[~ # ~] note [~ # ~]
Pour les utilisateurs C/C++ , il est indiqué ( à partir de help.Eclipse.org) :

Par défaut, le plan de travail Eclipse est configuré pour générer automatiquement des projets. Cependant, pour le développement C/C++, vous devez désactiver cette option, sinon votre projet entier sera reconstruit chaque fois que, par exemple, vous enregistrerez une modification dans votre makefile ou vos fichiers source. Cliquez sur Projet> Générer automatiquement et assurez-vous qu'il n'y a pas de coche à côté de l'élément de menu Générer automatiquement.

2
fat

Une chose que les gens n'ont pas mentionnée ici (et il m'a fallu un certain temps pour comprendre cela) est que la construction Eclipse (automatique ou manuelle) suivrait essentiellement ce que vous avez décrit dans l'onglet source "Java Build Path" du projet . Ainsi, lorsqu'un fichier est couvert dans cet onglet source de génération, lorsque vous modifiez le fichier, il est copié/compilé dans le dossier de sortie qui a été spécifié pour ce répertoire/fichier.

1
mtkilbay

Une autre différence est:
La plupart du temps, lorsque je travaille sur des JSP, cela m'aide lorsque je vérifie "Générer automatiquement". Il récupère automatiquement les modifications dans les JSP.
Mais si vous apportez des modifications dans vos Java classes/XML, vous avez besoin d'une construction manuelle. Puisque j'utilise un serveur de résine qui est exécuté en dehors d'Eclipse via l'invite de commande, je préfère vérifier l'option.
Lorsque j'ai la configuration de mon serveur dans Eclipse, je l'éteins et j'utilise Publier sur le serveur.

C'est la façon dont j'utilise et la réponse est basée sur mon expérience.

1
raja777m

Projet - Désactiver la création automatique L'option ne signifie pas toujours que la création automatique est désactivée. Par exemple, le plugin d'automatisation de test "Makegood" déclenchera la création automatique lorsque Préférences - Exécuter/Déboguer - lancement - (Option générale) Construire avant le lancement est activé. Donc, désactivez-le si une construction manuelle est nécessaire.

1
Rix Beck

Si Build Automatically est coché, le IDE compilera automatiquement votre code Java chaque fois que vous modifiez et enregistrez un fichier. Cela ne signifie pas qu'il sera complètement compilé et empaqueté l'intégralité de votre solution comme si vous alliez la déployer, comme si vous travailliez dans un projet Web sur un module WAR. En gros, elle compile simplement votre code.

0
JavaJoe