🗒️ Notice − IntelliJ et Eclipse JDT

Durant les séances de TP il est conseillé d’utiliser un environnement de développement (IDE) adapté pour la programmation Java. Les salles de TP sont équipées avec des versions de IntelliJ et de Eclipse JEE.

Comme vu en cours, tous les projets étudiés seront des projets Maven, notamment pour la gestion des dépendances. Ainsi, même si passer par un IDE est pratique pour le codage, mais il faudra toujours garder un terminal ouvert à côté pour exécuter les commandes Maven (mvn) nécessaires.
Si votre projet ne fonctionne pas correctement dans votre IDE, mais que tout va bien lors de l’exécution de Maven dans votre terminal (avec mvn test ou mvn package par exemple), alors rassurez-vous : votre projet va bien, mais votre IDE est simplement mal configuré. Suivez les contenus de cette page pour tenter de résoudre le souci.

1. IntelliJ

1.1. Apparence d’un projet "sain"

Il peut rapidement arriver dans IntelliJ de ne pas correctement importer/configurer un projet Java Maven, ce qui empêche les outils de développement de bien fonctionner (l’autocomplétion, notamment).

Voici à quoi ressemble un projet Java Maven dans un état "sain" dans IntelliJ:

intellij healthy project

Les points importants à vérifier :

  • Il existe une ligne "External Librairies", ce qui montre bien que votre projet est de type "Java".

  • Le répertoire src/main/java apparaît en bleu, ce qui signifie que IntelliJ considère qu’on y trouve le code métier Java.

  • Le répertoire src/test/java apparaît en vert, ce qui signifie que IntelliJ considère qu’on y trouve le code de test Java.

1.2. Importer correctement un projet Maven

Si vous souhaitez ajouter votre projet Maven existant à votre espace de travail IntelliJ :

  1. Ouvrir un terminal, et faire un clone Git (git clone) du projet dans votre espace utilisateur,

  2. Ouvrir IntelliJ, puis :

    1. choisir "Open", se rendre dans le répertoire cloné par Git, et dérouler le contenu,

    2. sélectionner le fichier pom.xml, puis faire OK.

  3. Choisir "Open as Project",

  4. Choisir "Trust project".

1.3. Gérer ses "répertoires de sources"

Il peut arriver que les répertoires de sources de votre projet soient mal configurés (voir Section 1.1). Cela peut notamment arriver lorsque vous créez manuellement le répertoire src/test/java.

Pour marquer manuellement un répertoire comme répertoire de sources :

  1. Clic droit sur le répertoire,

  2. Choisir "Mark directory as",

  3. Choisir :

    • Sources Root pour le répertoire src/main/java,

    • Test Sources Root pour le répertoire src/test/java.

1.4. Modification du pom.xml et reconnaissance des dépendances Maven

Lorsque vous modifiez le pom.xml, IntelliJ doit se mettre à jour avec le nouveau contenu. Un pop-up apparaît alors comme ceci :

intellij load maven changes

Il est important de toujours cliquer sur ce bouton pour que IntelliJ reste bien synchronisé.

Si malgré cela les dépendances sont mal reconnues par IntelliJ, faites un clic droit sur votre pom.xml et faites Unlink Maven Projects :

intellij maven unlink

Puis refaites un clic-droit sur votre pom.xml et faites Add as Maven Project :

intellij maven add

1.5. Configurer le Project SDK

Dans certains cas, IntelliJ n’est pas certain de savoir quelle installation disponible Java utiliser. On voit alors ce message :

intellij setup sdk popup

Dans ce cas, il faut cliquer sur Setup SDK, puis deux possibilités :

  • Si IntelliJ vous propose un choix tout en haut de la liste, alors on peut normalement le prendre sans risque. Exemple :

intellij setup sdk choice 1
  • Sinon, il faut prendre un SDK récent la sous-liste Detected SDKs. Exemple :

intellij setup sdk choice 2
Il ne faut surtout pas choisir l’action Download SDK, car cela occupera bien trop de place sur votre espace étudiant.

2. Eclipse JEE

2.1. Gérer ses workspaces

Une particularité d’Eclipse est qu’il permet d’ouvrir simultanément plusieurs projets dans un seul et même espace appelé workspace. Chaque workspace est stocké dans un répertoire choisi par l’utilisateur⋅trice

La configuration d’un workspace se trouve dans un répertoire caché appelé .metadata, à l’intérieur du dossier du workspace.

Il peut être occasionnellement utile d’ouvrir plusieurs projets simultanément dans le même workspace cas (par exemple quand on utilise le système d’Eclipse pour gérer les dépendances entre projets). Cependant, il est grandement déconseillé de mélanger dans le même workspace Eclipse des projets qui n’ont rien à voir entre eux. En effet, non seulement cela ferait travailler Eclipse pour rien sur les projets non utilisés, mais il peut arriver qu’un projet influence la configuration ou l’état de tout le workspace, et aille donc compromettre le bon fonctionnement d’un projet voisin.

Ainsi, même si cela peut paraître lourd, il est fortement recommandé de créer un nouveau workspace Eclipse pour chaque TP !

Par exemple vous pouvez préparer un répertoire workspaces dans lequel mettre vos différents workspaces: workspaces/tp1_test, workspaces/tp2_test, etc.

Pour bien gérer ses workspaces, deux actions utiles :

  • Quand on ouvre Eclipse, on peut lui indiquer quel workspace utiliser.

  • Quand Eclipse est déjà ouvert, on peut faire File → Switch Workspace → Other pour réouvrir Eclipse dans un nouveau workspace.

Ouvrir plusieurs projets dans IntelliJ est également possible, mais n’est pas le cas par défaut, et cela pose un peu moins de difficultés qu’Eclipse.

2.2. Apparence d’un projet "sain"

Tout comme pour IntelliJ, il peut rapidement arriver dans Eclipse de ne pas correctement importer/configurer un projet Java Maven, ce qui empêche les outils de développement de bien fonctionner (l’autocomplétion, notamment).

Voici à quoi ressemble un projet Java Maven dans un état "sain" dans Eclipse :

eclipse healthy project

Les points importants à vérifier :

  • Il existe une ligne JRE System Library et une ligne Maven Dependencies, ce qui signifie que le projet est bien de type Java et Maven.

  • Le répertoire src/main/java apparaît sur une ligne à lui, avec une petite icône (qui indique que c’est un répertoire de sources).

  • Le répertoire src/test/java apparaît sur une ligne à lui, avec une petite icône, et une couleur verdâtre (qui indique que c’est un répertoire de sources contenant les tests).

2.3. Importer correctement un projet Maven

  1. Ouvrir un terminal, et faire un clone Git (git clone) du projet dans votre espace utilisateur,

  2. Ouvrir Eclipse, puis faire File → Import → Maven → Existing Maven Projects, et faire Next,

  3. Browse, puis aller dans le répertoire du projet, et faire Ouvrir,

  4. L’interface devrait afficher la détection réussie du fichier pom.xml du projet. Si oui, s’assurer que le fichier est coché, et faire Finish.

2.4. Gérer ses "répertoires de sources"

Tout comme pour IntelliJ, il peut arriver que les répertoires de sources de votre projet soient mal configurés (voir Section 2.2). Cela peut notamment arriver lorsque vous créez manuellement le répertoire src/test/java.

Pour marquer manuellement un répertoire comme répertoire de sources :

  1. Clic droit sur le projet, choisir Build Path → Configure Build Path,

  2. Se rendre dans l’onglet Source,

  3. Faire Add folder, et cocher le répertoire à ajouter (par exemple src/test/java), puis faire OK.

  4. Si vous avez ajouté un répertoire pour les tests, toujours dans l’onglet Source, trouver l’entrée qui correspond au répertoire ajouté, puis :

    1. Mettre Contains test sources à la valeur yes,

    2. Mettre Output folder à la valeur target/test-classes.