Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Collaboration et Développement Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Apprenez à connaître Apache Maven - Un outil d'automatisation de la construction

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 et ensuite quelques termes techniques qui sont 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 permet de 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 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 compilation en une seule étape.

Pourquoi Maven est-il utilisé ?

En résumé, Maven simplifie et normalise le processus de construction des projets. Il gère la collaboration entre les membres de l'équipe, la compilation, la distribution, la documentation et les tâches distinctes 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 bocaux à la bibliothèque du projet, la création de rapports et l'exécution de cas de test Junits, la création de fichiers Jar, War et Ear pour le projet, et bien d'autres choses encore.

Un aspect très important de Maven est l'objectif des 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), met 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 :

Maven-arch

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 :

Maven-build-cycle

Certaines des phases importantes sont les suivantes:

  • Valider: confirme que toutes les données nécessaires à la construction sont disponibles.
  • Compilateur: Le code source est compilé.
  • Test-compilation : Le code source est compilé pour les tests.
  • Test: Il exécute les tests unitaires.
  • Paquet: il transforme le code source compilé en un format accessible (jar, war, etc.).
  • Installateur: 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éliorer 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, ce qui réduit les erreurs humaines et 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 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.

YouTube vidéo

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

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, Apache Poi, 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.groupname
 App-Core-lib
 1.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, comme 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, d'exigences, alors 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.

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 classpath pour le projet, la création de fichiers war et jar automatiquement et bien d'autres choses encore.

Conclusion

Cet outil est très utile lorsqu'il s'agit de construire des projets. Je vous souhaite de réussir votre projet JAVA. Si vous êtes à la recherche d'un tutoriel vidéo, vous pouvez consulter le Cours accéléré sur Maven.

  • Geekflare Editorial
    Auteur
    L'équipe éditoriale de Geekflare est un groupe de rédacteurs et d'éditeurs expérimentés qui se consacrent à fournir un contenu de haute qualité à nos lecteurs. Nous nous engageons à fournir un contenu utile qui aide les individus et les entreprises à se développer.
Merci à nos sponsors
D'autres lectures sur la collaboration
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le 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, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus