Apache Maven — En bref

Feb 17 2023
Si vous êtes un développeur Java, vos activités quotidiennes tout en travaillant sur votre projet incluent - écrire le code, compiler le code, tester le code, le conditionner sous la forme d'un artefact comme un fichier jar ou war, puis le déployer artefact à un serveur Web. Il y a beaucoup de tâches dont vous devez vous occuper manuellement et évidemment, vous pouvez automatiser ces tâches en utilisant une bibliothèque appelée Apache Maven Dans cet article, nous comprendrons ce qu'est Apache Maven et comment vous pouvez l'utiliser efficacement pour construire et gérer votre Projets Java Tout d'abord, comprenons les principes fondamentaux de Maven Qu'est-ce que Maven ? Maven est un outil de gestion de projet développé pour aider à gérer des projets développés à l'aide de langages JVM tels que Java et Scala.

Si vous êtes un développeur Java, vos activités quotidiennes tout en travaillant sur votre projet incluent - écrire le code, compiler le code, tester le code, le conditionner sous la forme d'un artefact comme un fichier jar ou war , puis le déployer artefact à un serveur Web.

Il y a beaucoup de tâches dont vous devez vous occuper manuellement et évidemment, vous pouvez automatiser ces tâches en utilisant une bibliothèque appelée Apache Maven

Dans cet article, nous allons comprendre ce qu'est Apache Maven et comment vous pouvez l'utiliser efficacement pour construire et gérer vos projets java

Tout d'abord, comprenons les principes fondamentaux de maven

Qu'est-ce que Maven ?

Maven est un outil de gestion de projet développé pour aider à gérer des projets développés à l'aide de langages JVM tels que Java et Scala. La tâche principale des outils de gestion de projet comprend,

  1. Construire le code source
  2. Tester le code source
  3. Conditionnement en pot, guerre ou épi
  4. Génération de documents Java
  5. Gérer les dépendances

Maintenant, allons plus loin et voyons comment installer Maven sur notre machine.

  1. Ouvrez le https://maven.apache.org/ dans votre navigateur
  2. Accédez à la section de téléchargement et téléchargez le dossier zip de la dernière version de maven et extrayez-le
  3. Définissez la variable de chemin d'environnement Ajoutez JAVA_HOME et MAVEN_HOME
  4. Ajoutez le chemin maven dans la variable d'environnement. ex : F:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin

Référentiel Maven :

Maven Repository est un répertoire de fichiers jar empaquetés avec pom.xml. Maven recherche les dépendances dans les référentiels. Il existe trois types de référentiels Maven.

  1. Référentiel local
  2. Dépôt central
  3. Référentiel distant

De plus, nous pouvons modifier l'emplacement du référentiel local dans le fichier settings.xml, qui se trouve dans MAVEN_HOME/conf/settings.xml Exemple : E:\apache-maven-3.1.1\conf\settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
  <!-- localRepository  
   | The path to the local repository maven will use to store artifacts.  
   |  
   | Default: ${user.home}/.m2/repository  
  <localRepository>/path/to/local/repo</localRepository>  
  -->  
</settings>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
   <localRepository>e:/mavenlocalrepository</localRepository>  
</settings>

Le référentiel central contient de nombreuses bibliothèques communes qui peuvent être consultées par cette URLhttp://search.maven.org/#browse.

Référentiel distant Maven : le référentiel distant Maven est situé sur le Web. Certaines bibliothèques peuvent être absentes du référentiel central, telles que la bibliothèque JBoss, etc. Nous devons donc définir un référentiel distant dans le fichier pom.xml.

Structure du projet Maven :

Comprenons maintenant la structure du projet Maven. Lorsque vous créez un projet maven, vous verrez un dossier appelé

  1. src - source - qui est la racine du code source de notre application et du test unitaire de l'application
  2. src/main/java — qui contient le code source de notre application, tout le code de production que nous écrivons dans notre application se trouve dans ce dossier
  3. src/main/resources — où nous stockons tous les fichiers statiques que nous utilisons dans notre projet. exemple application.properties , fichiers XML, fichiers CSV, etc.
  4. Si vous développez une application Web, tous les fichiers html et javascript se trouveront dans ce dossier
  5. src/test/java — ici, où nous écrivons le test unitaire et le test d'intégration pour notre application
  6. pom.xml — il contient les métadonnées des dépendances du projet
  7. target - dans ce dossier, maven stocke tous les fichiers de classe Java compilés

POM contient les métadonnées du projet et est également chargé de gérer les dépendances pour configurer les plugins ce qui nous aide à automatiser de nombreuses tâches répétitives, voici le pom.xml de base

<project xmlns="http://maven.apache.org/POM/4.0.0"   
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">  

  <modelVersion>4.0.0</modelVersion>  
  <groupId>com.maven.application</groupId>  
  <artifactId>my-app</artifactId>  
  <version>1</version>  
</project>

  • version du modèle - la version du modèle sera toujours définie sur 4.0.0, sauf si vous la remplacez par une autre version de maven. Par exemple, les versions supérieures au-dessus de 3.0
  1. Fichier pom simple
  2. Super fichier pom
  3. Fichier pom efficace

Fichier super pom : Vous pouvez trouver le fichier super pom dans le répertoire d'installation de maven, sous le chemin lib. Et à l'intérieur du fichier jar - maven-model-builder, nous pouvons trouver un paquet nommé org

Fichier pom efficace : Un fichier pom efficace n'est rien d'autre qu'une combinaison de fichiers pom simples et super pom. C'est juste un moyen de vérifier toutes les informations des fichiers pom.xml en un seul endroit. Pour consulter le fichier pom effectif, accédez au type de terminal maven

mvn-help: effective-pom

Maven a deux types de dépendances

  1. Dépendance d'instantané : une dépendance d'instantané signifie un projet en cours de développement actif et qui est instable.
  2. Dépendance à la version : une fois le projet terminé, il est publié

Nous pouvons contrôler la visibilité de la dépendance Maven à l'aide de portées de dépendance. Il existe 5 types de portées

  1. Compiler : il s'agit de la portée par défaut pour toutes les dépendances et les dépendances marquées avec compile sont disponibles dans le chemin de classe du projet
  2. Fourni : une dépendance qui a fourni une portée sera fournie au moment de l'exécution, soit par jdk, soit par le serveur Web
  3. Runtime : comme son nom l'indique, la dépendance marquée avec runtime n'est disponible qu'au moment de l'exécution mais pas au moment de la compilation.
  4. Test : ces dépendances ne sont disponibles qu'au moment de l'écriture et de l'exécution du test.
  5. Étendue des systèmes : elle est similaire à l'étendue fournie, mais la seule différence est que nous avons explicitement mentionné où trouver la dépendance dans le système. Au lieu de JDK ou d'un serveur Web fournissant cette dépendance lors de l'exécution, nous fournissons le chemin système où maven peut trouver cette dépendance. Nous pouvons fournir le chemin en utilisant le chemin du système

Le cycle de vie de la construction Maven est divisé en 3 étapes différentes :

  1. Par défaut - dans le cadre de cette étape, maven effectue de nombreuses tâches,
  2. maven lit le pom.xml et valide si nous avons du xml valide ou non.
  3. Ensuite, maven compilera notre code source et créera les fichiers de classe et les stockera dans le dossier cible.
  4. Ensuite, dans la phase de test, dans le cadre du test, maven exécute le test unitaire à l'intérieur du projet.
  5. package - dans le cadre du package, maven regroupe le code source dans un artefact de notre choix, comme des fichiers jar ou war ou ear ou zip
  6. test d'intégration — si notre projet contient des tests d'intégration et est exécuté
  7. vérifier - maven vérifie que le test d'intégration, qui s'exécute dans la phase précédente, est réussi ou non
  8. install - maven installera le package créé dans le référentiel local
  9. deploy - après l'installation, maven se déploiera dans un référentiel distant.
  10. 2. Nettoyer : cette étape est principalement chargée de nettoyer les classes java compilées ou les métadonnées générées. Exemple : mvn clean install

    3. Site : il est chargé de générer la documentation Java présente dans notre projet.

    Maven simplifie le processus de construction de manière très avancée. J'espère que vous avez appris et compris quelques points à propos d'Apache Maven.

    Merci d'avoir lu l'article. Merci d'applaudir, de partager et de commenter. cela m'encouragera à écrire d'autres articles de ce genre. Partagez vos précieuses suggestions, j'apprécie vos commentaires honnêtes !!!

    Question d'entrevue basée sur le flux Java8 la plus fréquemment posée - Partie 1 Le moyen le plus simple d'accéder à une base de données en JAVA Attraper plusieurs exceptions dans le codage Java : trouver le nième nombre de Fibonacci dans JavaScript Sites réels qui paient 50 $ à 100 $ par heure pour la relecture de livres Threading et multitraitement dans Python expliqué