English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Dépôts Maven

Dans le vocabulaire de Maven, un dépôt est un emplacement (place).

Le dépôt Maven est une bibliothèque tierce dépendante du projet, l'emplacement de cette bibliothèque s'appelle dépôt.

Dans Maven, toute dépendance, plugin ou sortie de construction de projet peut être appelée composante.

Le dépôt Maven nous aide à gérer les composantes (principalement JAR), c'est l'endroit où sont placés tous les fichiers JAR (WAR, ZIP, POM, etc.).

Il y a trois types de dépôts Maven :

  • Local (local)

  • Central (central)

  • Distant (remote)

Dépôt local

Le dépôt local Maven n'est pas créé après l'installation de Maven, il est créé lors de la première exécution de la commande maven.

lorsque vous exécutez Maven, toutes les composantes nécessaires à Maven sont directement récupérées à partir du dépôt local. Si le dépôt local ne contient pas, il essaie d'abord de télécharger les composantes à partir du dépôt distant vers le dépôt local, puis utilise les composantes du dépôt local.

Par défaut, que ce soit Linux ou Windows, chaque utilisateur a un répertoire nommé .m2/respository/ le répertoire du dépôt.

Le dépôt local Maven est créé par défaut dans le répertoire %USER_HOME%. Pour modifier l'emplacement par défaut, dans %M2HOME%\conf le fichier settings.xml de Maven est défini pour une autre chemin.

<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>C:/MyLocalRepository</localRepository>
</settings>

Lorsque vous exécutez une commande Maven, Maven télécharge les fichiers dépendants dans le chemin spécifié.

Dépôt central

Le dépôt central Maven est fourni par la communauté Maven et contient un grand nombre de bibliothèques couramment utilisées.

Le dépôt central contient la plupart des composants Java open source populaires, ainsi que le code source, les informations sur les auteurs, SCM, informations, informations de licence, etc. En règle générale, les composants nécessaires pour les projets Java simples peuvent être téléchargés ici.

Concepts clés du dépôt central :

  • Ce dépôt est géré par la communauté Maven.

  • Pas de configuration nécessaire.

  • Accès nécessitant une connexion réseau.

Pour naviguer dans le contenu du dépôt central, la communauté Maven propose une URL :http://search.maven.org/#browse。Avec ce dépôt, les développeurs peuvent rechercher toutes les bibliothèques disponibles.

Dépôt distant

Si Maven ne trouve pas non plus les fichiers dépendants dans le dépôt central, il arrêtera le processus de construction et affichera un message d'erreur dans la console. Pour éviter cela, Maven propose le concept de dépôt distant, qui est un dépôt personnalisé par les développeurs, contenant les bibliothèques de code nécessaires ou d'autres fichiers jar utilisés dans d'autres projets.

Par exemple, en utilisant le fichier pom.xml suivant, Maven téléchargera les fichiers dépendants déclarés dans ce fichier pom.xml à partir du dépôt distant.

<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.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>com.companyname.common-lib</groupId>
         <artifactId>common-lib</artifactId>
         <version>1.0.0</version>
      </dependency>
   <dependencies>
   <repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
      <repository>
         <id>companyname.lib2</id>
         <url>http://download.companyname.org/maven2/lib2</url>
      </repository>
   </repositories>
</project>

Ordre de recherche des dépendances Maven

Lorsque nous exécutons la commande de construction Maven, Maven commence à chercher les bibliothèques dépendantes dans l'ordre suivant:

  • Étape 1 Recherchez localement dans le dépôt, si vous ne trouvez pas, exécutez les étapes suivantes 2Si l'élément est trouvé, exécutez d'autres opérations.

  • Étape 2 - Recherche dans le dépôt central. Si introuvable et qu'un ou plusieurs dépôts distants sont configurés, exécutez l'étape suivante. 4,s'il est trouvé, il est téléchargé dans le dépôt local pour une future référence.

  • Étape 3 - Si le dépôt distant n'est pas configuré, Maven s'arrête simplement et génère une erreur (fichier de dépendance introuvable).

  • Étape 4 - Recherche de fichiers de dépendances dans un ou plusieurs dépôts distants. Si trouvé, il est téléchargé dans le dépôt local pour une future référence. Sinon, Maven arrête le traitement et génère une erreur (fichier de dépendance introuvable).

Dépôt Aliyun (Aliyun) Maven

Les dépôts Maven sont généralement situés à l'étranger, ce qui peut être lent en Chine. Nous pouvons les remplacer par les dépôts d'Aliyun.

Modifiez le fichier settings.xml du dossier conf sous le répertoire racine Maven, à la section mirrors, ajoutez le contenu suivant :

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>

Deuxième étape : ajoutez le suivant dans le fichier pom.xml

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>