Récemment, un ami m’a demandé par où commencer pour comprendre comment fonctionne maven et comment apprendre à déployer une application. Le tout en comprenant ce que font les outils.
Je propose donc ici de faire manuellement étape par étape, les différentes choses que ces outils font à notre place.
Maven
Compiler un seul source
Partir d’un
HelloWorld.java
et obtenir unHelloWorld.class
.Exécuter le programme
Afficher le hello world dans la console
Compiler un répertoire de source
Avoir deux sources (le message à afficher vient d’une constante dans une autre classe)
Exécuter
Garder un code source propre
Les fichiers
.class
ne doivent pas être dans le même répertoire que les sources.Compiler avec une dépendance
Récupérer à la main un jar d’une bibliothèque simple (qui n’a aucune dépendance elle-même), le mettre dans le projet. Faire en sorte que notre code source l’utilise.
Récupérer la dépendance
Le jar ne doit pas apparaitre dans notre répertoire de projet (il ne nous appartient pas et c’est un binaire que l’on peut récupérer à chaque fois si nécessaire)
Récupérer une grappe de dépendances
Récupérer une librairie qui a des dépendances… et ses dépendances. Par exemple, junit
Exécuter un test
Générer un artefact
Générer un artefact sans les binaires de test
Générer un exécutable
Publier un artefact
Uploader un artefact quelque part (ftp, http, scp, qu’importe)