Premiers pas avec son projet Eclipse

Ce tutorial a pour objet de présenter la configuration de base d'un projet dans Eclipse. On y montre comment configurer la JVM qui va faire fonctionner le projet, comment ajouter des librairies en dépendance d'un projet, comment modifier les répertoires source d'un projet, et comment créer une dépendance entre deux projets Eclipse.

Gérer les dépendances d'un projet, que ce soit sous Eclipse ou sous tout autre IDE, peut rapidement prendre des proportions importantes. Les méthodes que nous présentons ici permettent de facilement gérer des dépendances dans un périmètre raisonnable. Pour les projets de grande taille, comportant de nombreux modules, et de grandes quantités de dépendances, on préfèrera probablement utiliser un gestionnaire, tel que Maven par exemple.

Ce tutorial fait suite au tutorial Premiers pas avec Eclipse, que l'on peut consulter pour plus de détails sur l'installation de la version JEE d'Eclipse.

1. Configurer la JVM d'un projet

Eclipse est une application Java, qui fonctionne grâce à une JVM, Java Virtual Machine. Le fonctionnement d'Eclipse requiert qu'une JVM soit déjà installée sur la machine sur laquelle on installe Eclipse. Par défaut, tous les projets que l'on crée dans une installation d'Eclipse fonctionne avec cette machine virtuelle.

Il peut arriver, pour toutes sortes de raisons, que l'on veuille changer cette JVM. Examinons comment cela est possible.

Tout d'abord, notons que la JVM utilisée par notre projet est visible directement de la vue package explorer de notre projet : le nœud JRE porte la version de la JVM utilisée.

JVM utilisée dans un projet

Figure 1. JVM utilisée dans un projet


Changer la JVM utilisée peut se faire en ouvrant la fenêtre des propriétés du projet courant : menu Project, rubrique Properties.

Propriétés du projet courant

Figure 2. Propriétés du projet courant


Les propriétés d'un projet Eclipse s'affichent sur un panneau comportant de nombreuses options. On peut naviguer dans ces options à partir d'un ensemble de nœuds dans la colonne de gauche de ce panneau.

Sélectionnons tout d'abord le nœud Java Build Path dans la liste de gauche. Quatre onglets s'affichent sur la partie droite : Source, Projects, Libraries et Order and Export.

Sélectionnons l'onglet Libraries de la fenêtre qui s'ouvre alors. Nous reviendrons plusieurs fois sur cet onglet dans ce tutorial, dans la mesure où c'est de cet onglet que l'on gère les dépendances d'un projet.

Librairies d'un projet

Figure 3. Librairies d'un projet


Sur cette fenêtre, sélectionnons le JRE actif, et cliquons sur le bouton Edit....

Modification du JRE d'un projet

Figure 4. Modification du JRE d'un projet


La fenêtre qui s'ouvre nous montre que le JRE utilisé pour ce projet est bien le JRE utilisé par défaut pour tous les projets de cet espace de travail.

Sélection d'un nouveau JRE

Figure 5. Sélection d'un nouveau JRE


Commençons par déclarer des JRE supplémentaires au niveau de notre espace de travail. Pour cela cliquons sur le bouton Installed JRE... du panneau précédent.

JRE disponibles

Figure 6. JRE disponibles


Cela ouvre le panneau précédent, que l'on aurait pu aussi ouvrir en allant chercher la bonne option dans les Preferences d'Eclipse.

Deux options s'offrent ici à nous, qui se ressemblent beaucoup. Ce qu'il faut expliquer à Eclipse, c'est dans quel endroit nous avons installé nos JDK.

Chaque JDK est rangé dans son propre répertoire. Si tous ces répertoires se trouvent sous la même racine de notre disque, alors on peut indiquer ce répertoire racine à Eclipse, qui va se charger de l'explorer complètement. Cette façon de faire peut être un peu longue, surtout si ce répertoire racine contient d'autres sous-répertoires que nos JDK.

La deuxième option consiste à indiquer chaque répertoire qui contient un JDK, un par un.

Explorons la deuxième possibilité, et cliquons sur le bouton Add....

Ajouter un JRE - 1

Figure 7. Ajouter un JRE - 1


Dans ce cas, nous ajoutons une machine Java standard. Nous sélectionnons donc la troisième option et cliquons sur Next >.

Ajouter un JRE- 2

Figure 8. Ajouter un JRE- 2


La deuxième étape consiste à indiquer à Eclipse où se trouve notre JRE, ce que l'on fait en cliquant sur le bouton Directory... du panneau précédent. Windows ouvre alors une fenêtre qui nous permet de sélectionner le bon dossier. Une fois que cela est fait et validé, Eclipse scrute le contenu du répertoire, et identifie le JDK qui s'y trouve. Dans notre exemple, il s'agit d'un JDK v5, utile lorsque l'on travaille sur des projets legacy.

Ajouter un JRE - 3

Figure 9. Ajouter un JRE - 3


Une fois ce choix terminé, le nouveau JDK s'affiche dans la fenêtre des préférences.

JDK installés

Figure 10. JDK installés


Notons que de ce panneau, on peut également modifier le JDK qu'Eclipse utilisera par défaut lors de la création d'un nouveau projet.

On peut répéter cette opération autant de fois que l'on veut. Une fois que l'on a déclaré tous les JDK que l'on voulait, il ne reste plus qu'à choisir celui que l'on veut utiliser dans notre fenêtre de projet.

Choix d'un autre JRE

Figure 11. Choix d'un autre JRE


On constate que le changement de JRE a bien été pris en compte dans les propriétés de notre projet.

Changement de JRE effectué

Figure 12. Changement de JRE effectué


Le changement est également visible depuis la vue Package Explorer.

Changement visible de la vue Package explorer

Figure 13. Changement visible de la vue Package explorer


2. Ajouter des librairies en dépendances

Un projet complet s'appuie en général sur des librairies externes, distribuées sous forme d'un ou plusieurs JARs. Cette partie explique comment ajouter des JARs en dépendance d'un projet Eclipse.

L'exemple que nous allons prendre dans cette partie, consiste à ajouter les JARs de Dom4J en dépendance de notre projet. Dom4J est une API Java permettant de manipuler des documents XML, disponible à l'adresse http://dom4j.sourceforge.net/dom4j-1.6.1/. La distribution de cette API est composée d'un unique JAR : dom4j-1.6.1.jar. Supposons que nous disposions de ce JAR (ce n'est pas très compliqué, il suffit de le télécharger) dans un répertoire local.

Ajouter des JARs en dépendance d'un projet se fait à partir du panneau des propriétés d'un projet, le même que celui que nous avons ouvert en début de ce pas à pas. L'onglet dans lequel nous allons travailler est l'onglet Libraries, comme sur l'écran suivant.

Ajouter des JARs à un projet Eclipse

Figure 14. Ajouter des JARs à un projet Eclipse


2.1. Ajout des JARs individuellement

Les deux premières options disponibles nous permettent d'ajouter ce JAR à notre projet.

L'option Add JARs... nous permet d'ajouter un JAR qui se trouve dans l'un des répertoires d'un des projets de notre espace de travail.

L'option Add External JARs... nous permet d'ajouter un JAR, quel que soit son emplacement sur le disque.

À l'inverse, le bouton Add JARs... permet d'ajouter un JAR présent dans notre espace de travail. Supposons que nous ayons déjà copié notre JAR Dom4J dans un répertoire lib de notre projet. Le nom de ce répertoire peut être celui que l'on veut, il n'est absolument pas normalisé. Cette copie se fait simplement par glisser / déposer ou copier / coller classique.

JAR Dom4J dans le répertoire lib

Figure 15. JAR Dom4J dans le répertoire lib


Cliquer sur le bouton Add JARs... du panneau des propriétés de notre projet nous permet de choisir un JAR dans les projets de notre espace de travail.

Ajouter un JAR présent dans un projet

Figure 16. Ajouter un JAR présent dans un projet


On constate sur le panneau des propriétés que ce JAR a bien été ajouté.

JAR en dépendance de notre projet

Figure 17. JAR en dépendance de notre projet


L'ajout est également visible de la vue Package Explorer. On constate que le fichier dom4j-1.6.1.jar du noœud lib porte une marque, qui indique qu'il est utilisé en tant que dépendance du projet.

JAR en dépendance sur la vue Package Explorer

Figure 18. JAR en dépendance sur la vue Package Explorer


2.2. Configurer des JARs à l'aide de variables

Cette façon d'ajouter des JARs un par un n'est pas très efficace, surtout si l'on a de nombreux projets, et de nombreux JARs à gérer. Eclipse nous offre deux façons d'organiser les choses : utiliser des variables et des librairies.

Les variables sont configurables à partir des préférences d'Eclipse. On peut accéder à ces préférences à partir des menus de configuration, ou du panneau de gestion des dépendances d'un projet.

Voici le panneau qui s'affiche si l'on clique sur le bouton Add Variable... du panneau des propriétés d'un projet.

Configuration des variables

Figure 19. Configuration des variables


Cliquons maintenant sur le bouton Configure Variable.... Le panneau suivant apparaît.

Liste des variables prédéfinies

Figure 20. Liste des variables prédéfinies


On peut, à partir de ce panneau, ajouter une nouvelle variable en cliquant sur le bouton New....

Définition d'une nouvelle variable

Figure 21. Définition d'une nouvelle variable


Supposons que tous nos JARs soient rangés dans un répertoire D:\java\libs. Commençons par définir une variable MY_LIBS_FOLDER qui pointe sur ce répertoire.

Définition de MY_LIBS_FOLDER

Figure 22. Définition de MY_LIBS_FOLDER


On peut ensuite utiliser cette variable pour ajouter notre JAR Dom4J en dépendance de notre projet. Pour cela, il faut étendre cette variable, en cliquant sur le bouton Extend... du panneau d'ajout de dépendances.

Étendre une variable

Figure 23. Étendre une variable


Le panneau qui s'ouvre présente directement les JARs disponibles dans le répertoire pointé par la variable sélectionnée. Il n'y a plus qu'à sélectionner ceux que l'on veut mettre en dépendances de notre projet. Ici, notre répertoire ne compte qu'un seul JAR, celui de Dom4J.

JAR du répertoire pointé

Figure 24. JAR du répertoire pointé


Une fois choisie, notre dépendance vers Dom4J s'affiche de la façon suivante.

Dépendance utilisant une variable

Figure 25. Dépendance utilisant une variable


2.3. Définir des librairies de JARs

L'exemple que nous avons choisi est particulièrement simple : la dépendance que nous voulons ajouter est composée d'un unique JAR. Dans de nombreux cas, ajouter une "dépendance" consiste en fait à ajouter un ensemble de JARs, qui dépendent les uns des autres. L'idée de regrouper tous ces JARs en un paquet unique est donc naturelle. Dans le jargon Eclipse, ce paquet est appelé librairie, et l'on peut définir soi-même de telles librairies.

L'exemple que nous allons prendre est la librairie d'Apache Commons : HttpClient, en version 3.1. Cette librairie dépend elle-même d'Apache Commons Logging 1.0.4 et d'Apache Commons Codec 1.2. On a donc regroupé ces trois JARs dans un répertoire D:\java\libs\common-httpclient-3.1.

Cliquer sur le bouton Add Library... du panneau des propriétés de notre projet nous amène au panneau suivant.

Ajouter une librairie en dépendance

Figure 26. Ajouter une librairie en dépendance


Toutes les librairies configurées au niveau de notre espace de travail sont accessibles sur ce panneau. Nous allons en créer une nouvelle, et sélectionnons donc User Library avant de cliquer sur le bouton Next >.

Choix d'une librairie utilisateur

Figure 27. Choix d'une librairie utilisateur


Nous n'avons créé aucune librairie utilisateur pour notre projet, donc cette fenêtre est vide.

Création d'une librairie utilisateur

Figure 28. Création d'une librairie utilisateur


Cliquer sur New... nous permet de préciser le nom de cette librairie. Nous avons le choix de ce nom, rien ne nous oblige à prendre le nom d'un JAR. Cela dit, il vaut mieux que ce nom nous donne une idée précise du contenu de cette librairie.

Cette librairie n'est pas une librairie système, donc on ne coche pas la case correspondante du panneau.

Choix du nom

Figure 29. Choix du nom


Une fois cette librairie créée, il faut encore lui ajouter les bons JARs.

Librairie créée

Figure 30. Librairie créée


On clique pour cela sur le bouton Add JARs.... Un explorateur de fichier standard nous permet d'aller chercher nos JARs là où ils se trouvent.

Choix des JARs à ajouter

Figure 31. Choix des JARs à ajouter


Notre librairie et ses JARs apparaissent finalement dans la liste des librairies utilisateur.

Librairie créée et JARs ajoutés

Figure 32. Librairie créée et JARs ajoutés


On peut maintenant ajouter cette librairie à notre projet.

Ajout de notre librairie au projet

Figure 33. Ajout de notre librairie au projet


Notre librairie apparaît bien en dépendance de notre projet. Tout d'abord, sur le panneau des propriétés de ce projet.

Librairie en dépendance : panneau des propriétés

Figure 34. Librairie en dépendance : panneau des propriétés


Puis dans la vue Package explorer.

Librairie en dépendance : vue Package explorer

Figure 35. Librairie en dépendance : vue Package explorer


3. Ajouter un projet en dépendance d'un autre

Ajouter un projet en dépendance d'un autre est très simple. Supposons que nous ayons deux projets dans notre espace de travail : projet-model et projet-process.

Deux projets dans notre espace de travail

Figure 36. Deux projets dans notre espace de travail


Notre projet projet-process utilise les classes du projet projet-model pour ses propres besoins. Nous avons donc besoin de déclarer que le projet projet-model est en dépendance du projet projet-process. Cela se fait toujours à partir du panneau des propriétés du projet projet-process, mais cette fois sur l'onglet Projects.

Ajouter un projet en dépendance d'un autre - 1

Figure 37. Ajouter un projet en dépendance d'un autre - 1


Cliquer sur le bouton Add... ouvre une fenêtre dans laquelle on peut sélectionner le projet que l'on veut mettre en dépendance. On peut bien sûr créer des dépendances multiples. Eclipse râlera à coup sûr si l'on crée des dépendances circulaires.

Choix d'un projet en dépendance

Figure 38. Choix d'un projet en dépendance


Le projet ajouté apparaît alors dans la liste des projets en dépendance.

Ajouter un projet en dépendance d'un autre - 2

Figure 39. Ajouter un projet en dépendance d'un autre - 2


En revanche, on peut regretter qu'aucun signe graphique ne signale cette dépendance au niveau de la vue Package Explorer.

4. Sélection des répertoires source

Par défaut, lorsque l'on crée un projet Java, Eclipse crée un répertoire src dans lequel nos fichiers source vont venir se ranger bien sagement. En fait, il existe de nombreuses raisons pour lesquelles on peut avoir envie de créer d'autres répertoires source :

  • l'utilisation de différents fichiers dans différents langages ;

  • la séparation de nos fichiers de production, et de nos fichiers de tests.

La liste précédente n'est bien sûr pas complète, on peut trouver d'autres raisons.

Supposons que l'on veuille ranger nos fichiers Java de production dans un répertoire src/main/java et nos fichiers de test dans un autre répertoire src/test/java. Cette organisation est assez générale : si l'on ajoute des fichiers PHP (par exemple) à notre projet, ils viendront se ranger naturellement dans un répertoire src/main/php.

La déclaration des répertoires source d'un projet est faite dans l'onglet Source du panneau de propriétés de notre projet. Lorsque l'on ouvre cet onglet, on se rend compte que les fichiers source de notre projet sont rangés uniquement dans le répertoire src, ce que l'on savait déjà.

Déclaration des répertoires source d'un projet

Figure 40. Déclaration des répertoires source d'un projet


Commençons par retirer le répertoire src de la liste des répertoires source. Il suffit pour cela de le sélectionner, et de cliquer sur le bouton Remove.

Répertoire src retiré de la liste

Figure 41. Répertoire src retiré de la liste


On peut modifier ce répertoire en cliquant sur le bouton Add Folder.... Eclipse nous ouvre alors un panneau, qui nous montre la structure complète des répertoires d'un projet. Dans sa configuration par défaut, le répertoire bin qui apparaît est utilisé pour enregistrer les fichiers compilés à partir de nos fichiers source. Comme on n'a jamais à interagir avec ces fichiers, Eclipse n'affiche pas ce répertoire dans la vue Package Explorer.

Ajoutons un répertoire src/main/java à notre structure, cela se fait en cliquant sur le bouton Create New Folder.... Notons que le chemin que l'on donne est relatif au répertoire sélectionné dans ce panneau. Si l'on a sélectionné src, on n'aura donc que main/java à entrer.

Ajouter un répertoire source à un projet

Figure 42. Ajouter un répertoire source à un projet


On peut cliquer directement sur le bouton Finish, ce qui nous mène à la structure suivante.

Nouvelle structure de répertoires source

Figure 43. Nouvelle structure de répertoires source


Eclipse nous affiche bien la structure que nous avons créée, dans laquelle certains répertoires sont sélectionnés, et pas d'autres. Les répertoires sélectionnés sont les répertoires finaux qui vont pouvoir contenir des fichiers source. Dans notre exemple, on doit donc laisser le répertoire java sélectionné.

De même, on ajoute un répertoire src/test/java.

Structure finale des répertoires source- 1

Figure 44. Structure finale des répertoires source - 1


Une fois nos répertoires ajoutés, on peut cliquer sur le bouton Ok de façon à valider le tout. Le panneau des propriétés de notre projet a alors l'allure suivante.

Structure finale des répertoires source - 2

Figure 45. Structure finale des répertoires source - 2


La structure finale de notre projet est la suivante : on peut ranger nos fichiers de production dans le répertoire src/main/java et nos fichiers de test dans src/test/java.

Structure finale de notre projet

Figure 46. Structure finale de notre projet


Eclipse Projet
Retour au blog Java le soir
Cours & Tutoriaux