Découvrir MAVEN
Apache Maven est un outil de gestion et d’automatisation de production des projets logiciels java. Plus particulierement pour automatiser l’integration continue (CI).
L’objectif est de produire un logiciel à partir des sources, en optimisant les taches.
Il utilise un paradigme connu sous le nom de Project Object Model (POM), afin de décrire un projet logiciel , ses dépendances, avec des modules externes ( sous les extensions .jar, .ear ) connu en java.
Rôles de Maven
Permet la compilation du code java , ou encore la modularisation
Fonctionne en réseau, ainsi permet de lier plusieurs projets indépendantsPermet de télécharger des dépendances d’autres dépôts logiciels
La synchronisation de ces derniers.
Ainsi le site maven repository vous pourrez chercher, de télécharger quelques dépendances officielles que nous pourrions utiliser dans nos projets java. C’est semblable à docker hub qui permet de télécharger les images officielles.
Exemple d’utilisation de maven
Supposons que nous voulons développer un client FTP pour envoyer, récupérer des médias sur un serveur FTP en java, bonne nouvelle sur le maven central nous pouvons trouver une dépendance à cet effet pour accomplir notre tache.
Tout d’abord rendons sur le site et faisons notre recherche comme ceci
Apres validation nous obtenons ceci:
Ensuite y’a plus qu’ à faire un choix parmi les dépôts proposés.
Apres cela, on copie la dépendance les balises
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ftp</artifactId>
<version>3.20.1</version>
</dependency>
On aura juste à coller celle-ci dans notre fichier pom.xml de notre projet Java, notre ide netbeans, eclipse etc va détecter le changement dans notre fichier pom.xml ,il va directement procéder à la mise à jour du projet en téléchargeant notre dépendance.
NB: Eclipse, netbeans viennent avec maven par défaut.
Vous l’aurez peut être deviner, maven étant un outils de gestion il est possible de l’utiliser sur votre terminal. Il suffit tout d’abord de le télécharger, se rendre sur le site officiel de la fondation Apache
https://maven.apache.org/download.cgi, pour suivre les préréquis pour son installation. Après vous pourrez vous amuser à tester les commandes maven, pour cela se rendre sur la documentation officiel.
Chaque projet web est configuré par un POM qui contient les informations nécessaires à Maven pour traiter le projet
Le fichier POM sous l’extension .xml contient les informations détaillées du projet
Maven impose une arborescence et un nommage des fichiers du projet selon les conventions plutôt que les configurations.
Les buts principaux du cycle de vie Maven sont:
— compile
— test
— package
— install
— deploy
Gestion de dépendances
La gestion de dépendance de l’outils Maven s’appuie sur 2 notions:
→ l’héritage
→ la transitivité : se base sur la notion de dépendance ( tel dépend de)
ainsi si un projet A depend d’un projet B, et B dépend d’un projet C alors A depend de C.