Maven est largement connu comme un puissant outil d'automatisation de build, mais c'est bien plus que cela. Il s'agit d'un outil de gestion de projet complet qui simplifie l'ensemble du processus de construction, la gestion des dépendances et la génération de documentation. Dans cet article, nous explorerons divers aspects de Maven et comprendrons ses capacités en détail.
Principales fonctionnalités de Maven
1. Génération de construction
2.Gestion des dépendances
3.Documentation
Lorsque vous exécutez des commandes telles que mvn build ou mvn déployer, Maven examine le fichier pom.xml, qui contient toutes les configurations, et agit en conséquence. Approfondissons la structure pom.xml et sa signification.
Le fichier POM
```
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.example my-app 1.0-SNAPSHOT jar 1.8 1.8 5.2.8.RELEASE org.springframework spring-core ${spring.version} org.springframework spring-context ${spring.version} junit junit 4.12 test org.apache.maven.plugins maven-compiler-plugin 3.8.1 ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin 2.22.2 central https://repo.maven.apache.org/maven2 releases http://repo.mycompany.com/releases snapshots http://repo.mycompany.com/snapshots
Décodeons le fichier POM :
**Le fichier pom.xml suit un schéma XML spécifique (défini dans xsi:schemaLocation:) qui garantit qu'il adhère à une structure correcte, que Maven vérifie. Voici un exemple :
Éléments clé:
POM parent :
Chaque fichier POM dans Spring Boot a un POM parent. Si aucun parent n'est défini, le super POM devient le parent.
GroupId, ArtifactId et version :
Ces éléments identifient de manière unique un projet dans Maven Central.
com.example my-app 1.0-SNAPSHOT jar
- 1.8
central https://repo.maven.apache.org/maven2
Dépendances : répertorie les dépendances du projet.
org.springframework.boot spring-boot-starter-web 2.3.4.RELEASE
Cycle de vie de build Maven
Maven suit un cycle de vie de build spécifique qui se compose de plusieurs phases :
Valider:
Valide la structure du projet.
Compiler:
Convertit le code Java en bytecode (fichiers .class) et les place dans le dossier target/.
Test:
Exécute les cas de test situés dans le répertoire test/.
Emballer:
Génère des fichiers JAR/WAR à partir du bytecode compilé et les stocke dans le dossier target/.
Vérifier:
Vérifie l'intégrité du package.
Installer:
Installe le package dans le référentiel local.
Déployer:
Télécharge le package vers un référentiel distant.
Personnalisation du processus de création :
Maven offre la flexibilité d'ajouter des objectifs spécifiques à chaque phase de l'élément. Vous pouvez également créer et utiliser des plugins pour étendre les fonctionnalités de Maven.
org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8
*Installer avec maven : *
Il installe le fichier jar que nous avons créé lors de la phase de compilation après avoir terminé le test, l'emballage et la vérification.
ici, il crée un dossier m2 dans lequel toutes les dépendances sont conservées. Nous pouvons modifier l'emplacement de ce dossier à partir de settings.xml sous
Déploiement avec Maven
La configuration du déploiement est spécifiée à l'intérieur de l'élément.
internal.repo http://repo.mycompany.com/maven2
Conseil : nous pouvons fournir les informations d'identification dans settings.xml dans le dossier .m2/repository.
Rester à jour avec Maven et maîtriser ses nuances peut considérablement améliorer la gestion de projet et développer les compétences en automatisation. N'oubliez pas que Maven est plus qu'un simple outil de construction : c'est le centre de commande du projet. Plongez en profondeur, explorez de nouveaux plugins et continuez à expérimenter. Plus nous nous engageons avec Maven, plus notre processus de développement devient puissant. Continuez à repousser les limites et laissez Maven s'occuper du reste : après tout, c'est comme avoir un couteau suisse pour vos besoins en matière de gestion de projet !
Merci beaucoup d'avoir lu, j'apprécierai vos précieux commentaires.
Dites-moi également dans les commentaires si vous rencontrez des plugins sympas.
N'oubliez pas d'aimer, de partager et de vous abonner.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3