Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
In Collaboration , Développement Dernière mise à jour : 25 juin 2023
Partager sur:
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

En savoir plus sur Apache Maven- A Build Automation Tool

Quoi de neuf tout le monde! Aujourd'hui, nous allons parler de Maven.

Nous commencerons par une introduction rapide, puis nous énumérerons les avantages de son utilisation. Après tout cela, nous verrons son processus d'installation puis quelques termes techniques indispensables pour un débutant. Alors, commençons!

What is Maven?

Apache Maven est un logiciel de gestion de projet, et on peut dire que c'est un outil de compréhension. Basé sur le concept du modèle d'objet de projet (POM) [qui sera abordé plus loin dans les articles], Maven peut gérer la construction, le reporting et la documentation d'un projet à partir d'une information centrale.

Apache Maven est un outil de construction, et il fait la tâche tout comme Ant, qui est encore 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 la gestion de la création du format de dossier d'origine, d'effectuer l'assortiment et les tests, ainsi que le conditionnement et le déploiement de la sortie finale. Cela réduit le nombre considérable d'étapes dans le processus de base, et cela en fait un processus en une seule étape pour faire une construction.

Why is Maven Used?

Pour résumer, Maven simplifie et standardise le processus de construction du projet. Il gère la collaboration d'é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 également en charge la plupart des tâches liées à la construction. Il fonctionne dans de nombreuses étapes telles que l'ajout de fichiers JAR à la bibliothèque de projet, la création de rapports et l'exécution de cas de test Junits, la création de fichiers Jar, War, Ear pour le projet et bien d'autres choses encore.

Un aspect très important de Maven est le but des référentiels pour gérer fichiers jar.

Le Maven peut en outre être utilisé dans la construction et la gestion des projets écrits en utilisant des langages comme C #, ruby ​​et autres langages de programmation.

Jetons un coup d'œil aux avantages Maven suivants.

Convention sur la configuration

  • Sa configuration est très minimale.
  • Il gère les dépendances.

Des constructions multiples / répétées peuvent être réalisées

  • 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.
  • Cela rend le processus de développement clair.

Dispositions pour vérifier l'état de chaque build

  • Cela évite les configurations incohérentes.
  • Infrastructure standard et uniforme parmi les projets.

Architecture of Maven 

Comprendre l'architecture de Maven, basée sur Project Object Model (POM), mettra en évidence la compréhension conceptuelle qui offre une compréhension complète du cadre de construction.

L'architecture Maven est illustrée ci-dessous : 

Maven-arche

Son architecture affiche 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 :

  • Premier pas: Nécessite la configuration de 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 référentiel central vers le référentiel local. 
  • Troisième étape: Une fois que l'utilisateur a commencé à travailler dans Maven, l'outil propose divers paramètres par défaut, il n'est donc pas nécessaire d'ajouter chaque configuration dans le fichier pom.xml.

Cycle de vie de la construction Maven

Le cycle de vie de la construction Maven est une séquence d'étapes qui doivent être suivies pour construire un projet. 

Vous trouverez ci-dessous un aperçu des phases du cycle de vie de la construction :

Cycle de construction Maven

Certaines des phases importantes sont les suivantes:

  • Valider: Il confirme que toutes les données nécessaires au build sont disponibles.
  • Compiler: Le code source est compilé.
  • Tester-compiler : Il construit le code source des tests.
  • Teste: Les tests unitaires sont exécutés par lui.
  • Forfaits: Il transforme le code source compilé dans un format accessible (jar, war, etc.).
  • Installer: Le logiciel est installé dans un référentiel local. 
  • Déployez des copies du package dans le référentiel distant.

Il existe trois cycles de vie intégrés dans Maven : -

  • Réglage par défaut: De la phase de validation jusqu'à la phase de déploiement, il comporte 21 phases.
  • Propres: Le projet est correctement nettoyé et tous les fichiers créés par la version précédente sont supprimés. En cela, il y a 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 référentiels Maven : -

  • Dépôt local: Il utilise un ordinateur local pour stocker les référentiels.  
  • Dépôt central: La communauté Maven est un référentiel central et Maven télécharge les dépendances à partir de cet emplacement chaque fois que nécessaire.
  • Dépôt distant : Maven télécharge les dépendances situées sur un serveur Web.

Advantages of Maven

Maven est l'un des outils d'automatisation et de gestion de build open source les plus populaires développés par le groupe Apache. Il offre de nombreux avantages aux développeurs de logiciels et aux entreprises, tels que :

  • Administrez tous les processus de gestion de projet, y compris la création, la documentation, la publication et la distribution.
  •  Réduit la complexité du développement de projet grâce à une structure de projet standardisée.
  •  Améliore les performances des projets et du processus de développement.
  •  Ses différentes intégrations de plugins permettent 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 autres dépendances est effectué automatiquement.
  •  Facilite la capacité du développeur à construire un projet dans de nombreux contextes sans se soucier des dépendances, workflows, etc.
  •  Son système de gestion des dépendances rationalise l'incorporation de bibliothèques externes, réduisant la probabilité de conflits de version et garantissant des versions cohérentes et fiables.
  •  Il rationalise le processus de déploiement qui réduit les erreurs humaines, ce qui améliore l'efficacité.

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 globale.

Setting up Maven Environment

L'installation de Maven comprend les étapes suivantes:

  • Vérifiez si Java est installé sur le système ou non. sinon, installez java
  • Vérifiez si la variable d'environnement java est définie ou non. Sinon, définissez la variable d'environnement java.
  • Télécharger Maven
  • Décompressez le téléchargement 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 mvn -v commande 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 Maven Environment car nous ne voulons pas rendre cet article simple à lire et ennuyeux.

YouTube vidéo

Comme il s'agit d'un guide pour débutants, il doit inclure les termes techniques liés à MAVEN. Voici donc quelques-uns, qui sont très importants:

Dépôt local Maven

Le référentiel local Maven est l'ensemble dans lequel Maven stocke tous les fichiers jars du projet, les bibliothèques ou les dépendances. Par défaut, le nom du dossier est défini sur «.m2», et par défaut, l'emplacement est «Bibliothèques \ Documents \ .m2».

Dépôt central de Maven

Le référentiel central Maven est l'emplacement par défaut de Maven pour télécharger toutes les bibliothèques de dépendances du projet pour l'utilisation. Pour toute bibliothèque impliquée dans le projet, Maven regarde d'abord dans le dossier .m2 du référentiel local, et s'il ne trouve pas la bibliothèque nécessaire, alors il cherche dans le référentiel central et charge la bibliothèque dans le référentiel local.

MavenPOM

POM est un fichier XML de modèle d'objet de projet qui contient des informations sur le projet et les 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 lors de la création du fichier pom.xml

  • project- Project est l'élément racine du fichier pom.xml.
  • modelVersion - Cela signifie la version du modèle POM avec laquelle vous travaillez.
  • groupId - Cela implique l'identifiant du groupe de projet. Il est unique et, le plus souvent, vous appliquerez un ID de groupe lié au nom du package Java racine.
  • artifactId - Ceci est utilisé pour fournir le nom du projet que vous construisez.
  • Version - Cet élément se compose du numéro de version du projet. Si votre projet a été publié en différentes versions, il est pratique de présenter la version de votre projet.

Mot-clé de dépendance

Les dépendances sont les bibliothèques dont le projet a besoin. Comme les jars Log4j, Apache Poi jars, Selenium Jars sont quelques bibliothèques nécessaires pour le projet. Les dépendances, dans le Maven pom.xml, sont mentionnées comme ceci:

com.companyname.groupname App-Core-lib 1.0

Plugin Surefire

Le plug-in Surefire est nécessaire pendant la phase de test du cycle de vie de construction pour implémenter les tests unitaires d'une application. Il crée des rapports dans 2 formats de fichiers différents comme un fichier texte brut, des fichiers XML et des fichiers HTML également. Même si vous utilisez le framework Junits ou TestNG pour la création de rapports, ce plugin est indispensable, car il aide Maven à trouver des tests.

Practical Application Of Maven

Lorsque vous travaillez sur un projet java spécifique, et que ce projet a beaucoup de dépendances, de builds, d'exigences, travailler avec toutes ces choses manuellement est extrêmement complexe et laborieux. Ainsi, l'utilisation de certains outils capables de réaliser ces travaux est vraiment utile.

Et Maven est un tel outil de gestion de construction qui peut effectuer toutes les choses comme l'ajout de dépendances, l'utilisation du chemin de classe pour projeter, la création automatique de fichiers war et jar et beaucoup de nouvelles choses.

Conclusion

Cet outil est bénéfique pour la construction de projets. Je vous souhaite du succès dans votre projet JAVA. Si vous recherchez un didacticiel vidéo, vous pouvez consulter le Cours accéléré Maven.

  • Éditorial Geekflare
    Auteur
    L'équipe éditoriale de Geekflare est un groupe d'écrivains et d'éditeurs expérimentés qui se consacrent à fournir un contenu de haute qualité à nos lecteurs. Nous nous engageons à fournir un contenu exploitable qui aide les particuliers et les entreprises à se développer.
Merci à nos commanditaires
Plus de bonnes lectures sur la collaboration
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation de travail tout-en-un pour vous aider à gérer les projets, les tâches, le travail, les ventes, le CRM, les opérations, workflowset plus encore.
    Essayez Monday
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder