Questions posées fréquemment sur JDT

Puis-je utiliser un compilateur Java autre que le compilateur intégré (javac, par exemple) avec le plan de travail ?

Non. JDT offre un ensemble de fonctions sophistiquées incluant une regénération incrémentielle entièrement automatisée, l'évaluation des fragments de code, l'assistant de saisie de code, les hiérarchies de type et le remplacement de code à chaud. Or ces fonctions utilisent un support spécial intégré au compilateur Java du plan de travail (qui fait partie intégrante du générateur de projet incrémentiel du JDT), mais qui n'existe pas dans les compilateurs Java standard.

D'où proviennent les packages Java ?

Un projet ne contient que des fichiers et des dossiers. La division en packages Java est introduite par le chemin d'accès aux classes d'un projet Java (dans l'interface utilisateur, la vue Packages présente les packages définis par le chemin d'accès aux classes). Conseil : si la structure des packages n'est pas conforme à votre attente, vérifiez le chemin d'accès aux classes. En effet, l'infrastructure de recherche Java ne recherche les déclarations des éléments Java et les références à ces éléments que dans le chemin d'accès aux classes.

Quand dois-je utiliser un fichier bibliothèque JAR interne au lieu d'un fichier bibliothèque JAR externe ?

Les ressources internes résident dans les projets du plan de travail et sont donc gérées par ce dernier. Comme pour toutes les autres ressources, leurs versions peuvent être gérées par le plan de travail. En revanche, une ressource externe ne fait pas partie du plan de travail et ne peut donc être utilisée que par l'intermédiaire d'une référence. Par exemple, un environnement JRE est souvent externe et très volumineux, et il n'est pas nécessaire de l'associer à un système VCM.

Quand dois-je utiliser des dossiers source dans un projet Java ?

Chaque projet Java localise ses fichiers source Java à l'aide d'une ou plusieurs entrées de types source du chemin d'accès aux classes du projet. Vous pouvez utiliser des dossiers source pour regrouper les packages d'un grand projet afin de faciliter leur organisation, ou pour conserver le code source à part des autres fichiers qui composent le projet. En outre, utilisez des dossiers source lorsque certains fichiers (par exemple, de la documentation) n'ont pas besoin de figurer dans le chemin de génération.

Qu'est-ce qu'une connexion de source et comment puis-je en définir une ?

Les bibliothèques sont stockées sous forme de fichiers JAR contenant des fichiers classes binaires (et éventuellement d'autres ressources). Ces fichiers classes binaires fournissent les informations de signature des packages, des classes, des méthodes et des zones. Ces informations sont suffisantes pour une génération ou une exécution, mais elles sont beaucoup moins riches que le code source original. Afin de faciliter l'exploration et le débogage des bibliothèques binaires, il existe un mécanisme qui permet d'associer un fichier source JAR (ou ZIP) au fichier JAR binaire correspondant.

Pourquoi mes ressources sont-elles toutes dupliquées dans le dossier de sortie (par exemple, bin) ?

Lors de la génération des fichiers source du projet, si votre projet Java utilise des dossiers source, le compilateur Java copie également les ressources non Java dans le dossier de sortie afin qu'elles soient disponibles dans le chemin d'accès aux classes du programme lors de l'exécution de ce dernier. Pour éviter que certaines ressources ne soient copiées dans l'emplacement de sortie, vous pouvez définir un filtre de ressources dans les préférences du compilateur Java : Fenêtre > Préférences > Java > Compilateur > Génération

Comment empêcher la copie de mes fichiers de documentation dans le dossier de sortie du projet ?

Utilisez les dossiers source et placez les ressources ne devant pas être copiées dans le dossier de sortie dans un dossier séparé qui ne figure pas dans le chemin de classe. Vous pouvez également définir un filtre de ressources dans les préférences du compilateur Java : Fenêtre > Préférences > Java > Compilateur > Génération à *.doc, par exemple.

Comment créer un package par défaut ?

Ce n'est pas nécessaire. Les fichiers qui se trouvent dans le dossier racine d'un projet ou d'un dossier source sont considérés comme faisant partie du package par défaut. Chaque dossier source peut ainsi posséder un fragment du package par défaut.

Qu'est-ce que la propagation des modifications ?

La fonction de propagation des modifications permet de transformer un programme tout en préservant son comportement. Le JDT prend en charge un certain nombre de transformations décrites dans l'ouvrage de Martin Fowler Refactoring: Improving the Design of Existing Code, Addison Wesley 1999.

Quand dois-je utiliser la fonction de sélection/résolution de code (F3) ?

Lorsque vous voulez déterminer à l'aide du compilateur quel élément Java correspond à un segment de code source.

Les informations concernant un programme Java (par exemple, hiérarchie des types, déclarations et références) sont-elles produites par le générateur Java ? Sont-elles toujours mises à jour lorsque la fonction de génération automatique est désactivée?

Les informations concernant un programme Java sont indépendantes du générateur Java. Elles sont automatiquement mises à jour lorsque vous modifiez une ressource ou que vous effectuez des opérations Java. En particulier, toutes les fonctionnalités offertes par les outils Java (hiérarchies des types, assistant de code, recherche, par exemple) restent pleinement opérationnelles lorsque la fonction de compilation automatique est désactivée ; à titre d'exemple, lorsque vous procédez à une propagation importante qui nécessite la désactivation des générateurs, vous pouvez toujours utiliser l'assistant de code, lequel reflétera les dernières modifications (pas encore générées). En dehors du lancement (c'est-à-dire l'exécution et le débogage) d'un programme, la seule fonction qui fait appel au générateur Java est l'évaluation de fragments de code.

Lors de la réouverture d'une plan de travail, la première génération effectuée après la modification d'un fichier source Java semble durer plus longtemps. Pourquoi ?

Lorsque vous fermez le plan de travail, le générateur de projet incrémentiel Java enregistre son état interne dans un fichier. Lors de la première génération qui suit la réouverture d'un projet, le générateur restaure son état interne. Lorsque le fichier correspondant est volumineux, l'utilisateur peut constater un délai de génération inhabituellement long.

Je ne parviens pas à visualiser la hiérarchie des types pour ma classe. Que dois-je faire ?

Vérifiez que votre chemin des classes de génération est correct. La définition du chemin des classes de génération correct est une étape importante du développement en Java. Si ce chemin est incorrect, vous ne pourrez pas compiler votre code. En outre, vous ne pourrez pas visualiser les hiérarchies des types ni y rechercher des éléments Java.

Comment désactiver l'"auto-génération" et l'effectuer manuellement ?

Désélectionnez la case à cocher Générer automatiquement sur la page des préférences Ouvre la page des préférences Espace de travail Général > Espace de travail. Lorsque vous voulez effectuer une génération, appuyez sur les touches Ctrl+B ou sélectionnez Projet > Compiler tout dans la barre de menus.

Astuce : Lorsque vous désactivez l'option "auto-génération" et procédez à une génération manuelle, vous pouvez également sélectionner la case à cocher Sauvegarder automatiquement avant la génération sur la page des préférences Ouvre la page des préférences Espace de travail Général > Espace de travail.

Lorsque je sélectionne une méthode ou une zone dans la vue Structure, seule la source de cet élément s'affiche dans l'éditeur. Que dois-je faire pour voir le fichier en entier ?

Tout ce que vous avez à faire est de désélectionner le bouton Afficher la source de l'élément.

Puis-je imbriquer des dossiers source ?

Oui. Vous pouvez utiliser des filtres d'exclusion pour créer des dossiers source imbriqués.

Puis-je avoir des dossiers de sortie distincts pour chaque dossier source ?

Oui. Cochez la case Permettre des dossiers de sortie par dossier source dans la page des propriétés de votre projet Java Chemin de génération Java > Source.

Puis-je avoir un dossier de sortie ou source situé en dehors de l'espace de travail ?

Oui. Vous pouvez créer un dossier lié qui pointe vers l'emplacement souhaité et utiliser ce dossier comme dossier source ou de sortie de votre projet Java.

Concepts connexes

Outils de développement Java (JDT)

Référence connexe

Page Chemin de génération Java
Glossaire JDT