FAQ GénéraleConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 91, dernière mise à jour : 13 janvier 2019 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de www.developpez.net/forums et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci .
Sur ce, nous vous souhaitons une bonne lecture.
L'équipe Java/Eclipse
- Les raccourcis claviers indispensables pour la programmation Java
- Comment créer un projet Java ?
- Qu'est-ce que le Build Path d'un projet Java ?
- Qu'est-ce que le Class Path d'un projet Java ?
- Comment changer les répertoires source et de compilation ?
- Comment ajouter un JAR à mon projet ?
- Comment ajouter des librairies à mon projet ?
- Comment ajouter des fichiers Java compilés '.class' à mon projet ?
- Comment ajouter des .class externes à mon projet ?
- Comment relier deux projets entre eux ?
- [2.x] Comment générer les getters et setters d'une classe ?
- Comment générer les getters et setters d'une classe ?
- Comment placer facilement un point-virgule à la fin de l'instruction ?
- Comment aller d'une accolade à l'autre ?
- Comment organiser mes imports ?
- [3.1-] Comment développer en Java 5.0 ?
- Comment lier la Javadoc au JDK ou à une lib ?
- Comment lier les sources au JDK ou à une lib ?
- Comment générer la JavaDoc de votre projet ?
- Comment exporter son application dans une archive JAR ?
- Comment exporter son application dans une archive JAR exécutable ?
- [2.x] Comment passer des arguments à la JVM de mon application ?
- Comment passer des arguments à la JVM de mon application ?
- Comment empêcher que mes fichiers du répertoire de compilation soient effacés ?
- Comment utiliser ou définir des templates de code ?
- Comment utiliser JUnit avec Eclipse ?
- Comment debugger une application Java ?
Quelques raccourcis clavier indispensables pour la programmation Java sous Eclipse :
Raccourci | Description |
CTRL + Espace | L'indispensable auto-complétion |
CTRL + SHIFT + O | Organise les imports |
CTRL + SHIFT + T | Recherche une classe dans le workspace (indispensable s'il on a beaucoup de fichiers) |
CTRL + O | Affichage les attributs et méthodes de la classe courante |
CTRL + O + O ('O' deux fois) | Ajoute à l'affichage les attributs et méthodes héritées |
CTRL + T | Affiche l'arborescence d'héritage de la classe courante |
ALT + SHIFT + J | Génère un template de Javadoc pour une classe une méhode ou un attribut en fonction de la sélection |
CTRL + SHIFT + F | Mise en forme du code (vous pouvez surligner une zone de code pour restreindre le formatage) |
ALT + SHIFT + R | Renommer une variable, une méthode ou fonction, une classe... etc (depuis 3.3 la transformation peut se faire en temps réel) |
CTRL + SHIFT + C | Commente / Décommente les lignes sélectionnées (commentaire encapsulant chaque ligne indépendamment) |
CTRL + SHIFT + / | Commente / Décommente un blocs de lignes sélectionnées (peut avoir le même comportement que CTRL + SHIFT + C selon le contexte) |
CTRL + SHIFT + P | Pour se déplacer d'une accolade à l'autre |
Voici une page dédiée aux raccourcis d'Eclipse . Vous y trouverez également un memento au format PDF.
Pour créer un projet Java, allez dans le menu File > New > Project... et localisez Java Project.
Dans l'assistant qui s'affiche, saisissez un nom pour le projet à créer et cliquez sur Finish.
Le Build Path est ce qui constitue le référencement des fichiers, répertoires, bibliothèques (jar), c'est-à-dire toute ressource nécessaire à la compilation d'un programme Java au sein d'Eclipse. Cet élément correspond de fait à l'option -classpath utilisée avec la commande javac, en ligne de commande.
Sous Eclipse, chaque projet Java possède un Build Path que l'on peut ajuster selon ses besoins. Il se configure via un clic droit sur le projet, puis Properties > Java Build Path. Sur cette page de préférences, on trouve notamment les onglets Source, Projects et Libraries, lesquels permettent de référencer différents types de ressources.
Au minimum un projet Java doit avoir un répertoire pour les fichiers source, lequel doit être défini dans l'onglet Source mais aussi, un JRE System Library défini dans l'onglet Libraries.
Bien que de base, un projet Java puisse se contenter de l'API standard de Java (fournie par le JRE ou le JDK) pour compiler et s'exécuter, il est rare que cela soit suffisant. De fait, vous pouvez agrémenter votre Build Path avec entre autres, des bibliothèques tierces.
L'ajout de ces bibliothèques est décrit ici Comment ajouter un JAR à mon projet ? .
Remarque : Dans Eclipse, il ne faut pas confondre Build Path et Class Path. Le Class Path concerne uniquement l'exécution d'un programme Java. Le principe est similaire à celui du Build Path et d'ailleurs ce dernier sert de base pour la constitution du Class Path mais le Class Path est propre à l'exécution et peut comporter d'autres ressources qui ne sont pas nécessaires lors de la compilation. Cf. Qu'est-ce que le Class Path d'un projet Java ?
Le Class Path est ce qui constitue le référencement des fichiers, répertoires, bibliothèques (jar), c'est-à-dire toute ressource nécessaire à l'exécution d'un programme Java au sein d'Eclipse. Il correspond bien évidemment au paramètre -classpath que l'on peut utiliser lors de l'appel des programmes Java, en ligne de commande.
Lors d'une première exécution de votre application Java, un Class Path est déterminé automatiquement. On peut toutefois le constituer spécifiquement et manuellement, à partir du menu Run > Run Configurations..., puis en ajoutant une configuration d'exécution de type Java Application (par exemple). Ainsi, une fois la configuration initiée (soit manuellement, soit lors de la première exécution de l'application), il est possible de l'ajuster en fonction de besoins particuliers, via l'onglet Classpath. Un Class Path est donc partie intégrante d'une configuration d'exécution d'un programme Java, au sein d'Eclipse.
Remarque : Dans Eclipse, il ne faut pas confondre Class Path et Build Path. Le Build Path concerne uniquement l'étape de compilation d'un programme Java. Le principe est similaire à celui du Class Path, puisqu'en effet, un Class Path est par défaut élaboré à partir du Build Path. Cf. Qu'est-ce que le Build Path d'un projet Java ?
Pour modifier les répertoires source et de compilation :
- Faites un clic droit sur le projet, menu Properties > Java Build Path, puis sélectionnez l'onglet Source.
Ensuite, vous avez les choix suivants :
- Sélectionnez Add folder pour ajouter un répertoire source supplémentaire.
- Sélectionnez Remove folder pour ne plus considérer un répertoire comme un répertoire source.
- Dans la zone Default output folder, vous pouvez changer le répertoire de compilation par défaut.
Pour ajouter un jar qui se trouve dans le workspace :
- Clic droit sur le projet, menu Properties > Java Build Path, onglet Librairies, puis bouton Add jar
Pour un ajouter un jar hors du workspace :
- Clic droit sur le projet, menu Properties > Java Build Path, onglet Librairies, puis bouton Add external jar
- Clic droit sur le projet, menu Properties > Java Build Path, onglet Librairies, puis bouton Add Library
Une Library est à considérer ici comme un ensemble de bibliothèques (jars) prédéfini. Elle peut être composée des jars nécessaires à une JRE, à un environnement JEE, à d'autres environnements spécifiques ou encore, à un environnement issu d'une User Library que vous pouvez composer vous-même.
Pour ajouter un répertoire de fichiers Java compilés '.class' se trouvant dans le workspace :
- Clic droit sur le projet, menu Properties > Java Build Path, onglet Librairies, puis bouton Add Class Folder
A noter que la plupart du temps, les fichiers .class sont packagés dans des jars et donc ce sont les jars qui les possèdent qui doivent être importés. Les fichiers Java compilés d'un même projet, n'ont a priori aucune raison d'être référencés par ce moyen-là. Cette fonctionnalité servira surtout si on a des fichiers .class qui viennent d'ailleurs et dont les sources auraient été perdus ou qu'ils ne nous auraient pas été fournis.
Pour ajouter un répertoire de .class (fichiers Java compilés) qui se trouve en dehors du workspace :
- Clic droit sur le projet, menu Properties > Java Build Path, onglet Librairies, puis bouton Add External Class Folder
Cette solution ne s'appplique qu'à partir d'Eclipse Ganymede 3.4.
A noter que la plupart du temps, les fichiers .class sont packagés dans des jars et donc ce sont les jars qui les possèdent qui doivent être importés. Les fichiers Java compilés d'un même projet, n'ont a priori aucune raison d'être référencés par ce moyen-là. Cette fonctionnalité servira surtout si on a des fichiers .class qui viennent d'ailleurs et dont les sources auraient été perdus ou qu'ils ne nous auraient pas été fournis.
Lorsque dans Eclipse, on a par exemple deux projets A et B, où A a besoin de B pour compiler et s'exécuter, il peut être intéressant de les mettre en relation de façon explicite.
Pour référencer B au sein de A, il suffit de faire un clic droit sur le projet A, menu Properties > Java Build Path, puis onglet Projects.
Ensuite, il faut cliquer sur Add... et sélectionner le projet B qui doit apparaître dans la liste proposée.
Cette relation doit être à sens unique car B n'est pas censé avoir besoin de A pour fonctionner, ou alors c'est qu'il y a très probablement un problème d'architecture dans votre application.
L'avantage principal qu'un projet A référence un projet B, est tout simplement que cela évite :
- La compilation et le packaging (jar) du projet B pour pouvoir en faire usage dans le projet A. Les modifications de B sont donc instantanément disponibles dans A.
- La Javadoc de l'API du projet B est implicitement disponible, ainsi que bien évidemment son code source (inutile de passer par CTRL + SHIFT + T pour aller à la déclaration d'une classe de B).
- Aucun paramétrage supplémentaire n'est en principe nécessaire pour exécuter A, le classpath est déjà en phase.
Pour générer automatiquemet les getters et setters d'une classe, il suffit de faire :
- Clic droit sur la classe concernée (dans le Package Explorer ou l'éditeur Java), puis sélectionner le menu Source > Generate Getters and Setters
Le menu est également accessible par le raccourci CTRL + SHIFT + S
Dans l'éditeur, vous pouvez surligner une variable afin que celle-ci soit présélectionnée dans l'assistant de génération des getters/setters.
Pour générer automatiquemet les getters et setters d'une classe, il suffit de faire :
- Clic droit sur la classe concernée (dans le Package Explorer ou l'éditeur Java), puis sélectionner le menu Source > Generate Getters and Setters
Le menu est également accessible par le raccourci ALT + SHIFT + S
Dans l'éditeur, vous pouvez surligner une variable afin que celle-ci soit présélectionnée dans l'assistant de génération des getters/setters.
Il faut configurer le positionnement automatique du point-virgule :
Allez dans le menu Window > Preferences > Java > Editor, dépliez typing et cochez Semicolons dans Automatically insert at correct position.
Il suffit ensuite de taper un point-virgule et quelle que soit la position du curseur dans l'instruction courante, il sera ajouté à la fin.
Pour aller d'une accolade { à l'autre } vous pouvez utiliser le raccourci clavier CTRL + SHIFT + P.
De plus un double-clic sur une accolade surligne tout le bloc jusqu'a l'accolade fermante.
Sur un fichier Java en cours d'édition, faites un clic droit, puis sélectionnez le menu Source > Organize Imports. Ceci correspond au raccourci clavier CTRL + SHIFT + O.
Cette commande est également applicable dans la vue Package Explorer, directement sur un package Java ou encore sur une sélection multiple de fichiers Java (à condition que le(s) fichier(s) et/ou répertoire(s) fassent partie d'un répertoire source).
Si la résolution automatique rencontre des homonymes, par exemple java.util.List et java.awt.List, une boite de dialogue vous demandera de sélectionner la bonne référence.
A noter que la réorganisation des imports permet de déclarer explicitement chacune des classes (donc sans l'astérisque 'x.y.*'), tout en ajoutant celles qui n'auraient pas encore été importées.
La réorganisation trie également les imports selon les packages et l'ordre alphabétique des classes importées.
Pour utiliser les nouveautés de Java 5 (autoboxing, generics etc..) sous Eclipse, vous avez deux solutions :
- Utiliser Eclipse 3.1 ou supérieur.
- Si vous avez une version antérieure à Eclipse 3.1, vous pouvez utiliser un plug-in qui gère les nouveautés de Java 5.
Pour le télécharger, cf. http://www.genady.net/forum/viewtopic.php?t=31.
Il faut ensuite l'installer en le dézippant dans le sous-répértoire plugins d'Eclipse et le configurer comme indiqué ici http://www.genady.net/forum/viewtopic.php?t=59.
Un JRE (Java Runtime Environment) n'embarque pas la Javadoc ou les sources de l'API standard de Java, donc si vous en avez besoin (ce qui est quasiment obligatoire lorsque l'on développe en Java), il faut avoir installé un JDK (Java Development Kit). Une fois que c'est fait, vous pourrez constater la présence du fichier src.zip, lequel contient tous les fichiers source (.java) de l'API standard. Et de fait, dans ces fichiers source, vous aurez également la Javadoc.
Donc, en référençant un JDK, automatiquement le fichier src.zip donne accès à la Javadoc. Concrètement, cela signifie qu'en survolant les classes de l'API standard, ou en affichant la view Javadoc, vous devriez pourvoir visualiser la Javadoc, voire même d'ouvrir le code source de cette API (via la touche F3 ou le CTRL + Clic gauche).
Si vous n'avez pas de JDK installé, que vous ne pouvez pas en installer, ou que pour X raison vous devez vous contenter d'un JRE, alors pour obtenir la Javadoc de l'API standard de Java malgré tout, vous avez les possibilités suivantes :
- En principe, dans les versions récentes d'Eclipse, vous ne paramétrez rien du tout, celui-ci sait déjà à quel URL aller chercher la Javadoc de l'API standard.
Pour Java 6, l'URL est http://java.sun.com/javase/6/docs/api/, comme le montre ceci.
Dans ce cas précis, l'inconvénient est qu'il faut être sûr d'avoir un accès Internet actif, sans quoi, la Javadoc ne sera évidemment pas disponible.
- Vous pouvez aussi vous débrouiller de rapatrier un fichier src.zip, en le plaçant dans le répertoire de votre JRE.
Sur l'image ci-dessus, on peut d'ailleurs voir que cela a été fait ainsi, puisque le Source attachment pointe dessus. De fait, dans ce cas de figure, le paramétrage de la Javadoc location devient inutile mais cela ne pose pas de problème d'avoir les deux a priori.
En revanche, ce qu'il faut évidemment éviter, c'est de paramétrer une version de src.zip qui ne corresponde pas à votre cas de figure.
En principe, un JRE aura toujours la même API d'une version majeur à l'autre, donc l'URL de sa Javadoc ne changera pas, même suite au passage par exemple, d'un JDK/JRE 1.6.0_14 à 1.6.0_20. En revanche, cela sera beaucoup moins vrai pour les sources, donc le fichier src.zip doit vraiment être en phase avec la version de Java utilisée.
L'exemple précédent montre comment configurer la Javadoc ou l'attachement des sources, en passant par les propriétés du projet Java. En réalité, le même paramétrage est également possible via les préférences générales.
- Pour Configurer la Javadoc de l'API standard de Java :
- Aller dans le menu Window > Preferences > Java > Installed JREs
- Dans le panneau de droite, sélectionner le JRE
- Cliquer sur le bouton Edit
- Renseigner l'URL (ou le répertoire, ou l'archive)
- Pour Configurer la Javadoc d'une librairie utilisée dans un projet, par exemple la librairie Struts dont le jar du binaire est struts.jar.
- Aller dans le menu Project > Properties > Java Build Path > onglet Libraries
- Sélectionner le fichier struts.jar (ou le jar qui vous intéresse) puis ouvrir l'arborescence de cette librairie
- Sélectionner l'élément Javadoc location
- Cliquer sur le bouton Edit
- Renseigner une URL similaire à ceci struts/docs/api/, qui est la racine de la Javadoc
La configuration de la Javadoc d'un librairie est possible en spécifiant une URL, un répertoire ou une archive.
Il est recommandé de rapatrier toutes les Javadocs distantes dans un répertoire local, afin d'avoir un accès rapide et ne pas être dépendant d'une connexion Internet.
- Configurer les sources de l'API standard de Java :
- Aller dans le menu Window > Preferences > Java > Installed JREs
- Dans le panneau de droite, sélectionner le JRE
- Cliquer sur le bouton Edit
- Renseigner l'URL (ou le répertoire, ou l'archive)
- Configurer le code source d''une librairie utilisée dans un projet, par exemple la librairie Struts dont le jar du binaire est struts.jar.
- Aller dans le menu Project > Properties > Java Build Path > onglet Libraries
- Sélectionner le fichier struts.jar (ou le jar qui vous intéresse) puis ouvrir l'arborescence de cette librairie
- Sélectionner l'élément Source attachment
- Cliquer sur le bouton Edit
- Renseigner une URL similaire à ceci struts/src/, qui est la racine du répertoire source
La configuration des sources d'une librairie est possible en spécifiant une URL, un répertoire ou une archive.
Il est recommandé de rapatrier tous les packages de sources distants dans un répertoire local, afin d'avoir un accès rapide et ne pas être dépendant d'une connexion Internet.
A noter également qu'en rattachant le code source à une librairie, vous rendez implicitement disponible sa Javadoc.
Lorsque vous voulez consulter les sources d'une classe, par exemple String, appuyer sur SHIFT puis placez votre curseur au-dessus de la déclaration String. Ainsi, vous verrez apparaître une fenêtre présentant le code source de la classe survolée.
Si vous souhaitez réellement "descendre" dans le code source de classe, appuyez à la place sur CTRL puis clic gauche sur la classe ciblée.
Bouton droit sur le projet, menu Export... > Java > Javadoc, indiquez la destination et cliquez sur Finish.
- Lors de la première utilisation, vous devrez renseigner l'emplacement de l'utilitaire Javadoc, dans la première boite de dialogue.
- Vous avez la possibilité de sélectionner spécifiquement les packages/classes/répertoires source, pour lesquels vous souhaitez générer la Javadoc.
Bouton droit sur le projet, menu Export... > Java > JAR File > Next.
- Dans la 1ère page de l'assistant, vous devez spécifier le nom du fichier jar exporté, mais aussi sélectionner avec précision les classes et ressources à inclure dans le jar.
- Dans la 2ème page, il est possible (entre autres) d'ajouter une description du Jar généré au workspace.
- Dans la 3ème page, il est possible d'indiquer à Eclipse, soit de générer automatiquement le fichier MANIFEST (et éventuellement l'ajouter au workspace), soit d'utiliser un fichier MANIFEST existant (dans le workspace).
Dans cette même page, il est possible de choisir la classe à exécuter automatiquement au lancement du jar.
Attention : Si vous avez ajouté des jars externes au build path du projet, le jar ne pourra pas fonctionner une fois généré car Eclipse n'inclut pas les informations du build path.
Pour pallier cela :
- Fournir à l'assistant d'export votre propre fichier manifest (généré par un premier export éventuellement) dans lequel vous précisez les jars que vous utilisez en ajoutant la ligne suivante:
Code text : Sélectionner tout Class-Path: log4j.jar, mysql-connector-java-5.1.6-bin.jar
Assurez-vous également que ces jars soient présents à côté du jar généré, avant de le lancer.
Eclipse, depuis sa version 3.4 (Ganymede), offre un nouvel assistant d'export de JAR exécutable, qui inclut toutes les dépendances du projet (JARs externes) dans l'archive générée.
Avant de pouvoir utiliser cet assistant, il faut avoir exécuté le projet au moins une fois, c'est à dire avoir au moins une configuration de lancement.
Ensuite, faites un clic droit sur le projet, menu File > Export... > Java > Runnable JAR File > Next.
Dans la fenêtre de l'assistant, vous devez sélectionner la configuration de lancement et spécifier le nom du fichier jar exporté, puis valider (bouton "Finish").
Une fenêtre s'affiche vous demandant de revoir les licences des bibliothèques qui seront décompressées et recompressées dans le JAR exporté, pour voir si elles permettent ce cas d'utilisation.
Bouton droit sur la classe à exécuter dans le package explorer Run as > Run onglet (x)= Arguments
Dans Program arguments : les arguments de l'application (de la méthode main(String[] args))
Dans VM arguments : les paramètres de la machine virtuelle
Après avoir lancé l'application au moins une fois pour avoir une configuration de lancement, allez dans le menu Run > Run Configurations et sélectionnez la configuration qui vous intéresse parmi la liste et activez l'onglet onglet (x)= Arguments
Dans Program arguments : les arguments de l'application (de la méthode main(String[] args))
Dans VM arguments : les paramètres de la machine virtuelle
Parfois, on peut être tenté de placer des fichiers de configuration, dans le répertoire de compilation (application.properties, fichiers .xml, ...).
Cependant, par défaut Eclipse vide ce répertoire lors d'une compilation complète (lorsque l'on sélectionne par exemple le menu Project > Clean...).
Il est possible de paramétrer Eclipse pour qu'il ne fasse plus ce ménage, via le menu Window > Preferences > Java > Compiler > Building > Output folder, en décochant Scrub output folder when cleaning projects.
Cependant, une solution bien plus propre et largement préférable est de créer un répertoire dans lequel vous ne placez que vos fichiers de configuration.
Donc, tout simplement :
- Créez un répertoire nommé par exemple config au sein du projet.
- Faites ensuite un clic droit dessus, puis sélectionnez le menu Build Path > Use as Source Folder.
Ainsi, le contenu de votre répertoire sera automatiquement pris en compte et recopié dans le répertoire de compilation, à côté de vos fichiers compilés.
A noter que les fichiers du répertoire sont copiés dans le répertoire de compilation par défaut, qui est généralement le répertoire /bin. Vous pouvez cependant changer de répertoire de destination, si cela vous est nécessaire, en le paramétrant dans les propriétés du projet (cf. Comment changer les répertoires source et de compilation ? ).
Les templates sont des bouts de code accessibles via des raccourcis typographiques.
Par exemple, tapez sys quelque part dans votre code source d'une classe Java et appuyez sur CTRL + Espace.
Ceci provoque l'affichage d'une fenêtre, comme indiqué sur l'image suivante :
Sélectionnez sysout - print to standard out et appuyez sur Entrée.
Et voilà ! Le code System.out.println(); a été inséré.
Parmi les templates prédéfinis, ceux-ci vous permettent de générer des squelettes de code qui vous aiderons à programmer plus rapidement.
Autres exemples :
- Créer une instance d'une classe :
- Tapez new puis CTRL + Espace
- Sélectionnez le template new - create new Object et le code type name = new type(arguments); est généré, avec les champs à compléter encadrés, et le premier mot type sélectionné.
- Sans déplacer le curseur, saisissez Integer en lieu et place du mot type et vous constaterez que le troisième champ (l'appel du constructeur) se modifie simultanément !
- Appuyez sur Tab pour passer au champ suivant (le nom de la variable) et donnez le nom que vous souhaitez à votre variable (par exemple : monInteger).
- Appuyer de nouveau sur Tab et vous passez à l'argument du constructeur de Integer, dans lequel vous pouvez initialiser votre variable (par exemple : 10).
- Pour finir, appuyer sur Entrée et votre votre variable est initialisée et les cadres entourant les éléments à adapter disparaissent.
- Générer rapidement une boucle d'itération :
- Tappez for puis CTRL + Espace et complétez les éléments encadrés
Vous pouvez également définir vos propres templates :
Pour cela, allez dans le menu Window > Preferences > Java > Editor > Templates.
Pour des besoins spécifiques, analysez ceux qui sont déjà présents pour comprendre comment produire les votres.
L'outillage fourni est relativement puissant mais il faut apprendre à le maîtriser avant de savoir si vous pourrez créer les templates souhaités.
Voici un exemple de création de template manquant, qui permet de formater plus proprement un texte de Javadoc, en ajoutant les balises HTML <p></p> autour d'un paragraphe :
- Cliquez sur le bouton New... et remplissez les valeurs qui suivent
- Name : <p>
- Context : Javadoc
- Description : <p></p>
- Pattern :
Code text : | Sélectionner tout |
<p>${word_selection}${}</p>${cursor}
Un autre exemple très utile lorsque vous utilisez l'api commons-logging, de manière à générer proprement et dynamiquement la déclaration du logger :
- Cliquez sur le bouton New... et remplissez les valeurs qui suivent
- Name : lg
- Context : Java
- Description : Instanciation de l'objet de log
- Pattern :
Code java : | Sélectionner tout |
1 2 | /** Traces */ private static final Log log = LogFactory.getLog(${enclosing_type}.class); |
Remarque : Les templates sont importables et exportables, ce qui est notamment pratique pour homogénéiser le développement d'applications en équipe. Ils ne sont pas réservés au langage Java (et autres langages liés) mais pour pouvoir les utiliser dans d'autres langages/technos, il faut qu'un menu dédié soit disponible dans les préférences. C'est l'ajout de plug-ins embarquant ce genre de fonctionnalité qui peut permettre d'en disposer. |
Le framework de test JUnit est très utilisé et est disponible sur http://junit.org/
Il est complètement intégré à Eclipse et vous n'avez rien besoin d'installer.
Dans le package explorer bouton droit sur une classe à tester > New JUnit test case et vous aurez un assistant déjà renseigné.
- La deuxième page de l'assistance permet de sélectionner les méthodes et constructeurs à tester.
- Il est conseillé de placer les classes JUnit dans le même package que la classe à tester (fait par défaut), mais dans un répertoire de sources différent.
- Si vous codez d'abord la classe de test (façon Extreme Programming), faites File > New > JUnit test case
Pour exécuter le ou les tests, bouton droit sur la classe ou le package, Run as > JUnit test
Dans la marge gauche d'une classe, vous pouvez ajouter (ou retirer) un point d'arrêt, en double cliquant sur la ligne souhaitée. A noter que vous obtiendrez le même résultat en passant par un clic droit > Toggle breakpoint.
Ce point d'arrêt entre en action lorsque vous exécutez votre programme en mode Debug et que la ligne où il se trouve doit être exécutée.
Eclipse gèle alors l'exécution du programme et attend une action de l'utilisateur pour savoir comment le débogage doit continuer.
Vous pouvez mettre des breakpoints partout ou cela vous semble nécessaire mais uniquement à des endroits cohérents.
Les actions possibles du mode Debug :
- Dans la view Debug : Step into (F5) permet de rentrer dans une méthode
- Dans la view Debug : Step over (F6) permet de poursuivre l'exécution en mode pas à pas.
- Dans la view Debug : Step return (F7) permet de poursuivre l'exécution jusqu'à sortir de la méthode courante.
- Dans la view Debug : Resume (F8) permet de reprendre l'exécution normalement ou s'arrêter uniquement si un autre point d'arrêt est rencontré.
- Dans la view Variables : Vous pouvez consulter les valeurs des variables
- Dans la view Variables : Une variable en rouge est une variable qui vient d'être modifiée
- Dans la view Variables : Bouton droit sur une variable : Edit value permet de changer à chaud la valeur
- Dans la view Breakpoints : Vous pouvez activer/désactiver des breakpoints sans les retirer
- Dans la view Breakpoints : Le bouton j! permet de mettre un breakpoint sur toutes les Exceptions du programme
- Dans la view Breakpoints : à l'aide de la flèche noire orientée vers le bas, activez Show working Sets. Puis dans le même menu, sélectionnez Working Sets, Exception et donnez un nom. Voilà, vous avez maintenant un groupe d'Exceptions sous ce nom, que vous pouvez activer d'un simple clic de souris.
Remarque : Si jamais vous constatez qu'un point d'arrêt, lorsque vous tentez de le placer sur une ligne de code, se retrouve décalé, alors cela signifie très probablement que le répertoire de compilation configuré dans votre projet, n'est pas à jour par rapport au code source affiché. Cela est souvent le cas lorsque par exemple vous compilez avec Ant et que les répertoires des classes compilées ne sont pas identiques à ceux paramétrés dans votre projet Eclipse.
De même, si en cours de débug, vous constatez que le mode pas à pas n'est pas synchronisé avec le code source affiché, c'est sans doute pour les mêmes raisons.
Si vous ne compilez pas avec Ant ou un autre outil de build, vérifier que l'option Build Automatically est cochée dans le menu Project.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.