Activité : Visual Studio Code et Maven

Situation

On vous demande de mettre en place un environnement de développement Java avec Visual Studio Code et Maven.

Consigne

On vous demande de prendre connaissance de l’activité et réaliser les tâches décrites ci-après.

Objectifs

À la fin de ce travail, vous devez :

  1. Être capable de compiler une application java en utilisant maven.
  2. Être capable d'exécuter des tests unitaires en utilisant maven.
  3. Être capable d'exécuter les différentes tâches maven avec Visual Studio Code.
  4. Être capable d'utiliser le debugger avec Visual Studio Code.

Prérequis

Les prérequis nécessaires au bon déroulement de cette activité sont:

  1. Être capable d’utiliser Visual Studio Code d’une manière simple (Introduction à VSC).

Résultat attendu

  • Une RefCard (reference card) où vous aurez décrit les différentes commandes ainsi que les touches de raccourcis utilisées. Pour la réaliser, vous pouvez vous inspirer de la refCard de vi.

Ressources

Documents :

Logiciels :

  • Visual Studio Code
  • Vagrant
  • Machine virtuelle de développement

Configuration de votre environnement

Pour cette activité, nous faisons l’hypothèse que les logiciels suivants sont installés:

  • Visual Studio Code
  • Vagrant
  • Machine virtuelle de développements (dev-vm)

Si ce n’est pas le cas ou si vous n’en êtes pas sûr, veuillez suivre le tutoriel Installation des outils de développement

Ouvrez ensuite une fenêtre de terminal sans privilège, rendez-vous dans le répertoire du projet vagrant dev-vm, et tapez les commandes suivantes pour lancer la machine virtuelle et ouvrir une session ssh.

1
2
vagrant up
vagrant ssh

Si la commande a correctement fonctionné, votre terminal est maintenant connecté au shell (bash) de votre machine virtuelle. Lancez la commande suivante pour vous rendre dans votre répertoire de projet. Le signe ~ (tilde) désigne le répertoire personnel de l’utilisateur avec lequel vous êtes connecté à la machine virtuelle : /home/vagrant/.

1
cd ~/projects

Lancer ensuite la commande ci-dessous pour récupérer un projet dans le gestionnaire de dépôt de l’école. Lorsque votre ordinateur vous y invite, saisissez votre nom et votre mot de passe du réseau i-fr.

1
git clone https://gitlab.epai-ict.ch/epai-ict/maven/archetypes/archetype-quickstart.git

Lorsque le téléchargement est terminé, lancez les commandes ci-après pour terminer l’installation.

1
2
cd archetype-quickstart
mvn install

Vous pouvez maintenant terminer la session avec la commande suivante :

1
exit

Utilisation de Maven

Maven est un système de gestion de dépendance et d’automatisation de production de projet logiciel (build automation system) pour Java. Un projet Maven est un répertoire qui contient un fichier pom.xml qui contient une description du projet. Cette description est formulée dans un langage XML appelé POM (Project Object Model). Grâce à cette description, Maven est d’effectuer notamment les tâches suivantes :

  • télécharger les bibliothèques dont dépend le projet depuis un dépôt central (maven central repository)
  • compiler les classes de votre projet,
  • produire une archive JAR avec les classes compilées,
  • compiler les tests unitaires,
  • exécuter les tests unitaires et générer un rapport,
  • produire un site web à partir des commentaires javadoc pour la documentation de vos classes.

Maven s’utilise avec la commande mvn suivie du nom d’un goal ou d’une phase de construction. L’argument -h ou --help permet d’afficher une aide succincte sur les options disponibles. Pour plus d’information, vous pouvez consulter la documentation en ligne Documentation Maven

Création d’un projet

Le premier goal que nous allons invoquer est archetype:generate. Il permet de créer un squelette pour notre projet à partir d’un modèle appelé «archetype».

Pour créer votre premier projet, que nous appellerons « activity0 », commencez par vous rendre dans le répertoire dev-vm et lancez la commande vagrant up pour vous assurer que la machine virtuelle est bien démarrée.

Lorsque la machine virtuelle est démarrée, vous devez ouvrir une session sur cette machine. Une première possibilité est d’utiliser la commande vagrant ssh dans le répertoire dev-vm. Une seconde possibilité est d’ouvrir une session avec Visual Studio Code et d’utiliser le terminal intégré. Puisque notre intention est d’utiliser la machine virtuelle pour faire du développement en Java, c’est cette option que nous retenons. Ouvrez donc Visual Studio Code et ouvrez une session de développement à distance. Si vous ne savez pas comment faire, suivez le tutoriel Développer avec une machine virtuelle. Lorsque Visual Studio Code est connecté à la machine virtuelle, ouvrez le terminal intégré (voir documentation) et rendez-vous dans le répertoire ~/projects avec la commande :

1
cd ~/projects

Vous pouvez maintenant lancer la commande ci-après pour créer votre projet. Cette commande vous permet de créer facilement d’autres projets en changeant seulement les deux derniers arguments. L’argument -DgroupId=ch.epai.ict.m404.activity0 représente le nom du package et l’argument -DartifactId=activity0 représente à la fois le nom du projet et le nom du répertoire du projet. La valeur de l’argument -DgroupId doit respecter la syntaxe du la directive package de Java. Pour la valeur de l’argument -DartifactId, il est recommandé de n’utiliser que les lettres minuscules sans accents, les chiffres et le tiret.

1
mvn archetype:generate -DarchetypeArtifactId="archetype-quickstart" -DarchetypeGroupId="ch.epai.ict.maven.archetype" -DarchetypeCatalog=internal -DinteractiveMode=false -DgroupId="ch.epai.ict.m404.activity0" -DartifactId="activity0"

Déplacez-vous dans le répertoire activity0 qui vient d’être créé et ouvrez ce répertoire dans Visual Studio Code en tapant la commande suivante :

1
code -r .

L’option -r indique à Visual Studio Code d’ouvrir le projet en utilisant la fenêtre courante au lieu d’en créer une nouvelle.

Compilation du projet

Pour compiler votre code, il suffit de taper la ligne de commande suivante dans le terminal intégré. Après quelques instants, un message vous indique que l’opération s’est terminée avec succès ou qu’une erreur est survenue.

1
mvn verify

Exécutons notre programme

Pour exécuter votre application, lancer la commande suivante. Le nom du fichier jar dépend du nom de votre projet, mais la partie “-jar-with-dependencies.jar” est constante. Listez les fichiers du répertoire target après avoir compilé votre projet pour en connaître le nom exacte.

1
java -jar target/activity0-1.0-SNAPSHOT-jar-with-dependencies.jar

Utiliser Visual Studio Code

Pour vous familiariser avec Visual Studio Code, il est recommandé de consulter les resources de la documentation en ligne. Vous pouvez consulté en particulier la page consacré au langage Java.