Quand un projet prend de l'ampleur on peut vouloir en réutiliser des modules sous forme de **bibliothèques**. <!--- - Bibliothèques - jar - maven central --> Aussi, quand le nombre de fichiers, de classes et de package augmente, il peut devenir compliqué de le compiler uniquement avec la commande `javac`. On a besoin de le **packager** sous la forme d'un artefact réutilisable et parfois exécutable. ## Jar - **[[Glossaire général#Jar|Jar]]** : Format d'artéfact en Java C'est une sorte d'archive zip avec des codes et ressources Java dedans. ## Gestionnaire de dépendances Les [[Glossaire général#Gestionnaire de dépendances|gestionnaires de dépendances]] permettent de récupérer, assembler des [[Glossaire général#Dépendance|dépendances]] (comme des [[Glossaire général#Bibliothèque|bibliothèques]] [[Glossaire général#Tierce-partie (dépendance)|tierces-parties]]). Dans l'écosystème Java les gestionnaires de dépendance les plus utilisés sont - [[Glossaire général#Maven|Maven]] et sa commande `mvn` - [[Glossaire général#Gradle|Gradle]] et sa commande `gradle` Dans ce cours, nous verrons surtout Maven. Vous avez certainement déjà rencontré des gestionnaires de dépendances dans d'autres langages - Composer pour PHP - npm pour nodeJs ## Dépôt de dépendances Les dépendances ont besoin d'être **hébergées** quelque part pour pouvoir être téléchargées. C'est le rôle des dépôts (repositories) de dépendances. En Java, le dépôt public le plus utilisé est Maven Central : https://central.sonatype.com/ Il fonctionne avec Maven et Gradle. ## À suivre [[Maven]]