Maven est un puissant outil de gestion de projet qui simplifie le processus de construction des projets basés sur Java. Dans ce guide d’introduction, nous allons explorer les principales fonctionnalités et les avantages de Maven.
Quoi de neuf ? Aujourd’hui, nous allons parler de Maven.
Nous commencerons par une introduction rapide, puis nous énumérerons les avantages de son utilisation. Après cela, nous verrons son processus d’installation et quelques termes techniques essentiels pour un débutant. Alors, commençons !
Qu’est-ce que Maven ?
Apache Maven est un logiciel de gestion de projet, on peut dire que c’est un outil de compréhension. Il est basé sur le concept du modèle d’objet de projet (POM) [nous y reviendrons plus tard dans les articles] ; Maven peut gérer la construction, le reporting et la documentation d’un projet à partir d’un élément d’information central.
Apache Maven est un outil de construction, et il accomplit cette tâche tout comme Ant, qui est lui aussi un outil de construction extraordinaire. Il s’agit d’un outil de gestion de projet logiciel qui donne un nouveau concept de modèle d’objet de projet (POM).
Maven permet au développeur d’automatiser le traitement de la création du format de dossier original, la réalisation de l’assortiment et des tests, ainsi que l’emballage et le déploiement du résultat final. Il réduit le nombre considérable d’étapes du processus de base et permet de réaliser une construction en une seule étape.
Pourquoi Maven est-il utilisé ?
En résumé, Maven simplifie et normalise le processus de construction des projets. Il prend en charge la collaboration de l’équipe, la compilation, la distribution, la documentation et les tâches séparées de manière transparente.
Maven augmente la réutilisabilité et prend en charge la plupart des tâches liées à la construction. Il facilite de nombreuses étapes telles que l’ajout de jars à la bibliothèque du projet, la création de rapports, l’exécution des cas de test Junits, la création de fichiers Jar, War et Ear pour le projet, et bien d’autres choses encore.
L’un des aspects les plus importants de Maven est l’utilisation de référentiels pour gérer les fichiers jar.
Maven peut également être utilisé pour construire et gérer des projets écrits avec des langages tels que C#, ruby et d’autres langages de programmation.
Jetons un coup d’œil aux avantages suivants de Maven.
La convention plutôt que la configuration
- Sa configuration est très minimale.
- Il gère les dépendances.
Il est possible d’effectuer des constructions multiples/répétitives
- L’automatisation facilite les choses.
Gestion, test et développement de plugins
- Il a la capacité d’exécuter JUnit et d’autres tests d’intégration.
- Le processus de développement est clair.
Dispositions permettant de vérifier l’état de chaque version
- Il évite les configurations incohérentes.
- Infrastructure standard et uniforme entre les projets.
Architecture de Maven
La compréhension de l’architecture de Maven, basée sur le modèle d’objet de projet (POM), mettra en évidence la compréhension conceptuelle qui offre une compréhension complète du cadre de construction.
L’architecture de Maven est présentée ci-dessous :
Son architecture présente l’ensemble du cadre du cycle de vie de la construction, y compris les cycles de vie, les étapes, les objectifs, les plugins et d’autres tâches dès le début.
Les étapes suivantes sont répertoriées dans l’architecture de Maven :
- Première étape : Il faut configurer Maven, qui utilise un fichier pom.xml. Toutes les configurations de Maven sont présentes dans le fichier POM.
- Deuxième étape : Téléchargez les dépendances pom.xml du dépôt central dans le dépôt local.
- Troisième étape : Une fois que l’utilisateur a commencé à travailler avec Maven, l’outil propose divers paramètres par défaut, de sorte qu’il n’est pas nécessaire d’ajouter chaque configuration dans le fichier pom.xml.
Cycle de vie de Maven
Le cycle de vie de Maven est une séquence d’étapes à suivre pour construire un projet.
Vous trouverez ci-dessous les grandes lignes des phases du cycle de vie de la construction :
Certaines des phases importantes sont les suivantes:
- Valider: confirme que toutes les données nécessaires à la construction sont disponibles.
- Compiler: Le code source est compilé.
- Test-compilation : Le code source est compilé pour les tests.
- Test: Il exécute les tests unitaires.
- Package: il transforme le code source compilé en un format accessible (jar, war, etc.).
- Installer: Le logiciel est installé dans un dépôt local.
- Déployer : Copies du paquetage dans le dépôt distant.
Il existe trois cycles de vie intégrés dans Maven:-
- Défaut: De l’étape de validation à l’étape de déploiement, il comporte 21 phases.
- Nettoyage: Le projet est correctement nettoyé et tous les fichiers créés par la version précédente sont supprimés. Ce cycle comporte trois phases.
- Site: La documentation du site web du projet est créée à cette étape et comporte quatre phases.
Dépôt dans Maven
Il existe trois types de dépôts maven:-
- Dépôt local: Il utilise un ordinateur local pour stocker les référentiels.
- Dépôtcentral: La communauté Maven constitue un dépôt central et Maven télécharge les dépendances à partir de cet emplacement chaque fois que cela est nécessaire.
- Dépôt distant : Maven télécharge les dépendances situées sur un serveur web.
Avantages de Maven
Maven est l’un des outils open-source d’automatisation et de gestion de la construction les plus populaires, développé par le groupe Apache. Il offre de nombreux avantages aux développeurs de logiciels et aux entreprises :
- Il permet d’administrer tous les processus de gestion de projet, y compris la construction, la documentation, la publication et la distribution.
- Réduire la complexité du développement d’un projet grâce à une structure de projet standardisée.
- Améliore les performances des projets et du processus de développement.
- L’intégration de divers plugins permet d’optimiser la qualité du code, l’automatisation des tâches, l’amélioration de la productivité, etc.
- Le téléchargement des fichiers Jar et des autres dépendances s’effectue automatiquement.
- Facilite la capacité du développeur à construire un projet dans de nombreux contextes sans se soucier des dépendances, des flux de travail, etc.
- Son système de gestion des dépendances rationalise l’incorporation des bibliothèques externes, réduisant ainsi la probabilité de conflits de versions et garantissant des constructions cohérentes et fiables.
- Il rationalise le processus de déploiement et réduit les erreurs humaines, ce qui se traduit par une efficacité accrue.
En tirant parti des avantages de Maven, les équipes de développement peuvent améliorer la productivité et la qualité du code et fournir des logiciels de haute qualité tout en réduisant la communauté de développement dans son ensemble.
Configuration de l’environnement Maven
L’installation de Maven comprend les étapes suivantes :
- Vérifiez si Java est installé sur le système. Si ce n’est pas le cas, installez Java
- Vérifiez si la variable d’environnement Java est définie ou non. Si ce n’est pas le cas, définissez la variable d’environnement java.
- Téléchargez Maven
- Décompressez le téléchargement de Maven à un endroit du système.
- Maintenant, ajoutez le répertoire bin du répertoire créé apache-maven-3.6.2 à la variable d’environnement PATH et à la variable système.
- Ouvrez cmd et exécutez la commande
mvn -v
pour confirmer l’installation.
C’est tout
Pour obtenir les étapes détaillées de l’installation, suivez le guide YouTube ci-dessous pour configurer l’environnement Maven, car nous ne voulons pas rendre cet article simple à lire et ennuyeux.
Comme il s’agit d’un guide pour débutants, il doit inclure des termes techniques liés à MAVEN. En voici donc quelques-uns, qui sont très importants :
Dépôt local Maven
Le dépôt local Maven est l’endroit où Maven stocke tous les fichiers jars du projet, les bibliothèques ou les dépendances. Par défaut, le nom du dossier est ‘.m2 ‘, et par défaut, l’emplacement est ‘Libraries\Documents\.m2 ‘.
Dépôt central Maven
Le dépôt central Maven est l’emplacement par défaut où Maven télécharge toutes les bibliothèques dépendantes du projet pour les utiliser. Pour toute bibliothèque impliquée dans le projet, Maven cherche d’abord dans le dossier .m2 du référentiel local, et s’il ne trouve pas la bibliothèque nécessaire, il cherche dans le référentiel central et charge la bibliothèque dans le référentiel local.
POM Maven
Le POM est un fichier XML de modèle d’objet de projet qui contient des informations sur le projet et des détails de configuration nécessaires à Maven pour développer le projet.
Il contient des valeurs par défaut pour la plupart des projets. Certaines des structures qui peuvent être définies dans le POM sont les dépendances du projet, les plugins qui peuvent être exécutés et, bien sûr, les profils de construction.
Éléments utilisés dans la création d’un fichier pom.xml
- project- Le projet est l’élément racine du fichier pom.xml.
- modelVersion- Il s’agit de la version du modèle POM avec lequel vous travaillez.
- groupId- Il s’agit de l’identifiant du groupe de projet. Il est unique et, le plus souvent, vous appliquerez un identifiant de groupe lié au nom du paquetage Java racine.
- artifactId- Cet élément est utilisé pour fournir le nom du projet que vous construisez.
- Version – Cet élément comprend le numéro de version du projet. Si votre projet a été publié en plusieurs versions, il est pratique de présenter la version de votre projet.
Mot-clé Dépendances
Les dépendances sont les bibliothèques nécessaires au projet. Les jarres Log4j, les jarres Apache Poi et les jarres Selenium sont quelques unes des bibliothèques nécessaires au projet. Les dépendances dans le pom.xml de Maven sont mentionnées comme suit :
com.companyname.groupnameApp-Core-lib1.0
Plugin Surefire
Le plugin Surefire est nécessaire pendant la phase de test du cycle de vie de la construction pour mettre en œuvre les tests unitaires d’une application. Il produit des rapports dans deux formats de fichiers différents : les fichiers texte, les fichiers XML et les fichiers HTML. Même si vous utilisez le framework Junits ou TestNG pour les rapports, ce plugin est indispensable, car il aide Maven à trouver les tests.
Application pratique de Maven
Lorsque vous travaillez sur un projet Java spécifique, et que ce projet a beaucoup de dépendances, de builds et d’exigences, travailler avec toutes ces choses manuellement est extrêmement complexe et laborieux. C’est pourquoi l’utilisation d’outils capables de résoudre ces problèmes est vraiment utile.
Maven est un outil de gestion de la construction qui peut effectuer toutes les tâches telles que l’ajout de dépendances, l’utilisation du classpath pour le projet, la création automatique de fichiers war et jar, et bien d’autres choses encore.
Conclusion
Maven est très utile lorsqu’il s’agit de construire des projets. Je vous souhaite de réussir votre projet JAVA. Si vous cherchez un tutoriel vidéo, vous pouvez consulter le cours accéléré sur Maven.