Configuration et configuration de plusieurs sources d'entrepôt Maven et différences entre les référentiels et les miroirs

Configuration de l'entrepôt Maven

La priorité de l'entrepôt est : entrepôt local (localRepositories) > entrepôt des référentiels dans le profil > POM > entrepôt global des miroirs

configuration des référentiels

référentiels spécifie l'emplacement où le package jar est téléchargé, et il peut y en avoir plusieurs.

Les référentiels peuvent être configurés via setting.xml, qui prendra effet pour tous les projets maven, ou configurer uniquement une balise d'entrepôt maven dans pom.xml de ce projet.

Lors de l'ajout de la configuration suivante dans le pom.xml de votre propre projet maven.

<repositories>
  <repository>
    <id>aliyun-releases</id>
    <name>阿里云仓库(name可以随便起)</name>
    <url>https://maven.aliyun.com/repository/public</url>
  </repository>
</repositories>

À ce moment, maven donnera la priorité à cette configuration au lieu de lire la configuration dans setting.xml. Après cette configuration, maven téléchargera automatiquement le package jar depuis aliyun.

Plusieurs référentiels peuvent être configurés sous la balise repositories. Si nous configurons plusieurs référentiels, lequel utilisera-t-il ? La réponse est de les utiliser dans l'ordre d'apparition. Si le premier est disponible, utilisez le premier. Si ce n'est pas le cas disponibles, descendez dans l'ordre Trouver, les 2 images suivantes peuvent illustrer ce problème.

configuration miroir

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <!--mirrorOf的配置很重要后面会详细说明-->
  <mirrorOf>central</mirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

Comme configuré ci-dessus, maven lira le miroir configuré dans setting.xml comme adresse de téléchargement du package jar.

pourquoi ?
Étant donné que l'ensemble mirrorOf est <mirrorOf>central</mirrorOf>, si <mirrorOf></mirrorOf> je définis un paramètre avec désinvolture, tel que <mirrorOf>abc</mirrorOf>, l'entrepôt que nous avons configuré ne fonctionnera pas pour le moment. C'est parce que maven a l'entrepôt intégré suivant par défaut. L'identifiant de cet entrepôt par défaut est central. Lorsque nous définissons mirrorOf sur <mirrorOf>central</mirrorOf>, maven recherchera un entrepôt avec un identifiant central, et puis mettez l'id Remplacez l'adresse de l'entrepôt central par l'url configurée dans notre balise <mirror>, afin que le miroir que nous avons configuré fonctionne. Bien sûr, nous pouvons également définir mirrorOf sur <mirrorOf>*</mirrorOf>, indiquant que tous les entrepôts utilisent le miroir que nous avons configuré comme adresse de téléchargement du package jar.

Quelle est la relation entre mirrorOf et mirrorOf ?

<repository> <id> semble inutile, en effet, si vous vous contentez de configurer un entrepôt dans pom.xml, cet id ne sert à rien, vous pouvez l'écrire nonchalamment.

En fait, cet identifiant est utilisé conjointement avec le miroir mentionné ci-dessus. Vous souvenez-vous encore de mirrorOf ? Nous configurons mirrorOf comme <mirrorOf>central</mirrorOf>. Oui, l'url dans le miroir écrasera l'url de l'entrepôt central par défaut , donc ici L'id sous la balise <repository> est pour mirrorOf.

Lorsque l'ID dans le référentiel est cohérent avec mirrorOf, l'URL dans mirrorOf écrasera l'adresse URL dans le référentiel.

Je suppose que tu aimes

Origine blog.csdn.net/lzzyok/article/details/120397536
conseillé
Classement