what is maven maven tutorial
Ce tutoriel d'introduction à Maven expliquera ce qu'est Maven, pourquoi utiliser Maven, sa définition, ses terminologies de base, les types de référentiel Maven, etc.
Dans ce tutoriel, nous explorerons Maven, sa définition, sa vue d'ensemble, les étapes opérationnelles sur Maven et comprendrons les terminologies de base sur Maven, les activités effectuées par Maven et les types de référentiels Maven en détail.
Commençons!!
Liste des didacticiels de cette série Maven
Tutoriel n ° 1: Qu'est-ce que Maven - Tutoriel Maven pour les débutants (Ce tutoriel)
Tutoriel n ° 2: Que sont POM (Project Object Model) et Pom.Xml dans Maven
Tutoriel n ° 3: Gradle Vs Maven et Plugins Maven
Tutoriel n ° 4: Dépendance et intégration Maven avec Eclipse et TestNG
Tutoriel n ° 5: Documentation Maven avec Jenkins & Maven pour les projets
Tutoriel n ° 6: 31 questions et réponses les plus fréquemment posées lors des entretiens avec Maven
Ce que vous apprendrez:
Qu'est-ce que Maven
Maven est un outil de gestion de build et de projet qui est généralement utilisé dans les frameworks construits en Java. Il est développé par Apache Software Foundation. Maven, un mot de la langue yiddish, signifie «rassembleur de connaissances». Il a été introduit pour rendre le processus de déclenchement de la construction dans Jakarta Turbine Project.
Maven est contrôlé par le fichier Project Object Model (pom). Tout en travaillant avec des frameworks intégrés à Java, nous devons souvent faire face à un certain nombre de dépendances.
Avant que Maven n'entre en jeu, toutes les dépendances, qui ne sont que des fichiers JAR, devaient être ajoutées manuellement à notre framework. De plus, nous devions nous occuper de la mise à niveau du logiciel dans notre projet.
comment ouvrir le fichier jar avec l'environnement d'exécution java
Maven garantit que les fichiers JAR et les bibliothèques du projet sont téléchargés automatiquement. Seules les informations relatives aux versions du logiciel et au type de dépendances doivent être décrites dans le fichier pom .xml.
Maven peut prendre en charge des projets en Ruby, C # et d'autres langages. Il prend la tâche de créer des projets, leurs dépendances et la documentation.
ANT, un autre outil développé par Apache Software Foundation, est également utilisé pour la construction et le déploiement de projets. Mais Maven est plus avancé que ANT. Comme ANT, Maven a simplifié le processus de construction. Ainsi, en bref, Maven a facilité la vie des développeurs.
Pourquoi utiliser Maven
Maven effectue les activités ci-dessous:
- Référentiel pour obtenir les dépendances.
- Avoir une structure de dossiers similaire dans toute l'organisation.
- Intégration avec des outils d'intégration continue comme Jenkins.
- Plugins pour l'exécution des tests.
- Il fournit des informations sur la manière dont le logiciel / projet est développé.
- Le processus de construction est simplifié et cohérent.
- Fournit des lignes directrices sur les meilleures pratiques à suivre dans le projet.
- Améliore les performances du projet.
- Facile à passer aux nouveaux attributs de Maven.
- Intégration avec des outils de contrôle de version comme Git.
Maven prend en charge les processus tels que les versions, la distribution, les rapports, les versions, la documentation et les SCM. Maven se connecte au référentiel Maven Central et les charge en local. Certains des IDE qui prennent en charge le développement de projets avec Maven sont NetBeans, Eclipse, IntelliJ, etc.
Maven doit être utilisé dans nos projets dans les scénarios suivants:
- Si le projet nécessite un grand nombre de dépendances.
- Si la version des dépendances nécessite une mise à jour fréquente.
- Si le projet a besoin d'une documentation rapide, la compilation et l'empaquetage du code source dans des fichiers JAR ou ZIP.
Étapes opérationnelles de Maven
#1) Tout d'abord, Maven passe par le fichier POM .xml.
#deux) Les dépendances sont chargées dans le référentiel local.
# 3) Passe en revue les cycles de vie intégrés de Maven comme indiqué ci-dessous:
- Défaut: Prend en charge le déploiement du projet.
- Faire le ménage: Supprime toutes les erreurs, nettoie ainsi le projet et supprime l'artefact produit à partir du processus précédent de la génération.
- Site: Prend soin de la documentation du projet.
# 4) Chaque cycle intégré comporte plusieurs phases. Par exemple, default a vingt-trois phases tandis que le nettoyage et le site ont respectivement trois et quatre phases.
# 5) Chaque cycle Maven passe par plusieurs étapes où une étape particulière a un objectif spécifique.
Certaines des phases importantes sont énumérées ci-dessous:
- Valider: Vérifie si toutes les données sur les prérequis pour que la génération se termine sont disponibles.
- Compiler: Le code source est compilé.
- Test - compiler: Le code source du test est compilé.
- Test: Les cas de test unitaires sont exécutés.
- Paquet: Le code source est compilé et emballé dans des fichiers JAR ou ZIP.
- Test d'intégration: Le package est déployé et s'il y a des problèmes, des cas de test d'intégration sont exécutés.
- Installer le paquet: Il est installé dans le référentiel local.
- Déployer: Une copie du package est disponible à partir du référentiel distant.
Ces phases doivent être exécutées dans l'ordre. Aussi, si le déployer c'est-à-dire que la phase finale du cycle Maven doit être exécutée, puis toutes les phases antérieures à ce cycle doivent être terminées avec succès.
À partir de l'invite de commande, les phases sont exécutées de la manière suivante:
mvn , par exemple, mvn valider
# 6) Un groupe de buts Maven constitue une phase. Tout comme les phases de Maven, chaque objectif doit être exécuté dans un ordre spécifique.
Un objectif a la syntaxe suivante:
Plugin: objectif
Ici, nous avons discuté de certaines des phases ainsi que des objectifs qui y sont liés:
- compilateur: compile (utilisé dans la phase de compilation)
- compilateur: test (utilisé dans la phase de compilation des tests)
- surefire: test (utilisé dans la phase de test)
- install: install (utilisé dans la phase d'installation)
- pot: guerre (utilisé dans la phase de conditionnement)
- war: war (utilisé dans la phase d'emballage)
Les étapes opérationnelles du fonctionnement de Maven sont schématisées ci-dessous:
Terminologies à Maven
- POM : Cela signifie Project Object Model. Il s'agit d'un fichier XML contenant les informations sur le projet, les dépendances présentes dans le projet, le répertoire du fichier source, les informations sur le plugin, etc. Ce sont les données nécessaires à Maven pour construire complètement le projet. Maven lit le fichier pom pour obtenir toutes ces informations.
Le projet Maven dans Eclipse IDE avec un extrait de code du fichier XML POM est illustré ci-dessous.
- GroupId : Reconnaît notre projet uniquement de tous les projets. GroupId fait partie du fichier pom. Il est souvent dit comme une identité pour le groupe de projets.
- ArtéfactId : Un fichier jar déployé dans le référentiel Maven. ArtifactId fait partie du fichier pom. Il est souvent dit comme identité et nom de notre projet.
- Version : Spécifie la version du fichier jar du projet. La version fait également partie du fichier pom.
Comme illustré dans l'image ci-dessus, nous pouvons le voir, et les balises font partie des dépendances définies pour le projet.
- Dépôt central de Maven : C'est l'espace réservé où sont présents les fichiers jar, bibliothèques, plugins et données de configuration requis par Maven pour la construction du projet.
Si nous voulons ajouter des dépendances Selenium dans notre projet, nous devons avoir l'extrait de code ci-dessous dans le fichier pom.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Parmi les multiples projets hissés dans le référentiel central de Maven, il identifie Selenium à l'aide de groupId. De même, ArtifactId est comme un sous-projet sous groupId.
Par exemple, Le code Selenium est pris en charge par des langages tels que Java, C #, etc. Ici, à partir de l'artefactId, il est évident que nous nous connectons uniquement aux JAR associés à Java. De plus, la version du JAR à associer au projet fait également partie des dépendances.
Nous pouvons également publier notre propre projet dans le référentiel Maven en fournissant ces trois informations.
char en entier c ++
Dépôt Maven
Le référentiel Maven peut être de trois types:
- Dépôt local
- Référentiel distant
- Dépôt central
Une fois que Maven a lu les dépendances à partir du fichier POM, il les recherche d'abord dans le référentiel local, puis dans le référentiel central et enfin dans le référentiel distant. Si les dépendances ne sont trouvées dans aucun des trois référentiels, l'utilisateur est averti par une erreur et le processus est arrêté.
# 1) Dépôt local Maven
Le référentiel local est situé dans notre système local - principalement dans .m2 (C: / Users / superdev /.m2) qui montre sa présence une fois que Maven est installé dans notre système et que nous avons pu exécuter avec succès une commande Maven.
Il est également possible de modifier cet emplacement dans settings.xml (MAVEN_HOME / conf /settings.xml) à l'aide du localRepository étiqueter.
Ci-dessous l'extrait de code xml, montre comment modifier les emplacements du référentiel local:
C: Maven m2 # 2) Dépôt central de Maven
Dépôt central est développé par le groupe Apache Maven et est hébergé sur le web. Ceci est considéré comme le référentiel central et il a toutes les bibliothèques communes. Comme un référentiel local, nous pouvons également modifier l'emplacement où ils doivent être téléchargés par défaut en modifiant le paramètre setting.xml.
# 3) Référentiel distant Maven
Le référentiel distant est également hébergé sur le Web. Dans certains scénarios, une entreprise peut développer son propre référentiel distant et effectuer des déploiements sur ses projets privés. Ceux-ci seront la propriété de cette entreprise spécifique et ne pourront être exploités qu'à l'intérieur de celle-ci.
Le référentiel distant a des modèles de travail similaires, comme un référentiel central. Chaque fois que des dépendances ou des configurations sont requises à partir de ces référentiels, elles doivent d'abord être téléchargées dans notre site local, puis utilisées.
Un exemple de code xml pour le référentiel distant avec l'ID et l'URL est présenté ci-dessous.
com.src.repository http://maven.comp.com/maven2/
Conclusion
Nous espérons que vous avez une idée claire de ce qu'est maven, pourquoi nous utilisons Maven, les étapes opérationnelles sur Maven, les cycles Maven, les phases, les objectifs, les terminologies de base sur Maven et les types de référentiels Maven.
Dans notre prochain didacticiel, nous explorerons comment créer un projet dans Maven, l'environnement configuré pour Maven et de nombreux autres sujets connexes.
lecture recommandée
- Intégration de Maven avec TestNg à l'aide du plug-in Maven Surefire
- Didacticiel AWS CodeBuild: extraction de code à partir de Maven Build
- Configuration de Maven avec Eclipse Java IDE
- Que sont POM (Project Object Model) et pom.xml dans Maven
- Gradle Vs Maven et Plugins Maven
- Documentation Maven avec Jenkins & Maven pour les projets
- 31 questions et réponses les plus fréquemment posées lors des entretiens avec Maven
- Dépendance et intégration Maven avec Eclipse et TestNG