2016-12-20 6 views
1
<settings> 
    ... 
    <mirrors> 
    <mirror> 
     <id>internal-repository</id> 
     <name>Maven Repository Manager running on repo.mycompany.com</name> 
     <url>http://repo.mycompany.com/proxy</url> 
     <mirrorOf>external:*</mirrorOf> 
    </mirror> 
    </mirrors> 
    ... 
</settings> 

La documentation officielle, au sujet de la signification du paramètre external:* dans une balise <mirrorOf>, dit que:tag Maven <mirror>, sens de externe: * paramètre

matchs tous les dépôts sauf ceux qui utilisent localhost ou d'un fichier reposent sur les dépôts . Ceci est utilisé conjointement avec un gestionnaire de référentiel lorsque vous souhaitez exclure des référentiels de redirection définis pour Tests d'intégration.

Dans ce contexte, ma question est:

  • Qu'est-ce que cela signifie qu'un référentiel utilise localhost?
  • Qu'est-ce que cela signifie que le référentiel est basé sur des fichiers?

Répondre

1
  • Qu'est-ce que cela signifie qu'un référentiel utilise localhost?

simplement que l'hôte de l'URL utilisée dans toute déclaration référentiel n'est pas localhost ou 127.0.0.1. Par exemple, un dépôt dont l'URL est déclarée comme:

<repository> 
    <id>my-repo</id> 
    <url>http://localhost:8080/repo</url> <!-- or http://127.0.0.1:8080/repo --> 
</repository> 

il ne sera pas considéré par le miroir external:*, parce que son hôte est localhost. Cela peut être le cas, par exemple, si vous avez un gestionnaire d'artefacts hébergé sur la même machine, et que vous travaillez localement (il n'est donc pas nécessaire d'avoir un proxy).

  • Qu'est-ce que cela signifie que référentiel est basé sur des fichiers?

que le protocole de l'URL du référentiel est file. Par exemple, un dépôt dont l'URL est déclarée comme:

<repository> 
    <id>my-repo</id> 
    <url>file:///C:\my-repo</url> 
</repository> 

serait un référentiel basé sur des fichiers. Les artefacts seront recherchés dans le dossier C:\my-repo, comme s'il s'agissait d'un dépôt distant habituel. Ceci est utile si vous souhaitez configurer un référentiel distant à des fins de test (c'est-à-dire sans gestionnaire d'artefacts, en travaillant uniquement avec des dossiers, éventuellement sur un autre lecteur). Dans ce cas, il n'y a pas besoin d'un proxy aussi, et external:* ne le considérera pas. Pour référence, le code external:* exécute exactly those checks.