2017-01-25 3 views
2

Angenommen, ich habe eine "öffentliche" Gruppe in Nexus, die zwei Repositories "snapshotsA" und "snapshotsB" enthält. Beide enthalten Versionen mit denselben Maven-Koordinaten wie com.something:artifact:1.0.0-SNAPSHOT. Wie löst Nexus eine SNAPSHOT-Referenz auf? Seht es in beiden Repositories nach dem neuesten Element? Oder ist es zufrieden, nachdem es das erste gefunden hat?1.0.0-SNAPSHOT in zwei Nexus-Repositories einer Gruppe

Antwort

3

Für Gruppen in Nexus Repository 2.x lösen wir die erste Übereinstimmung in der Gruppenreihenfolge, es sei denn, eine bestimmte Art von Repository Routing- oder Repository-Zielregeln verhindert die Übereinstimmung (wenn z. B. fehlerhafte Versionen dieser Komponente vorhanden sind) in diesem Repository, indem Komponenten nicht unteilbar behandelt werden usw.)

In Nexus Repository 3.x ist dies derzeit einfacher, da wir Repository-Routing nicht implementiert haben. Das erste Match in der Gruppenbestellung ist das, was du zurückbekommst.

+1

Dies bedeutet, dass, wenn eine Version mit 1.0.0-SNAPSHOT im ersten Repository (in der Gruppenreihenfolge) vorhanden ist, alle anderen ignoriert werden? –

1

Gruppenrepositorys dienen einer Liste von Repositorys unter derselben URL. Sie holen die maven-metadata.xml Dateien von allen Repositories, die sie bedienen, und erstellen eine zusammengeführte Darstellung von ihnen. Sie haben auch einen Lucene-Index über die maven-indexer (die eine Bibliothek ist, die als OSS von Sonatype zu Apache beigetragen wird, die es einem Repository-Manager oder Tool wie einer IDE ermöglicht, mit diesem Index von im Repository enthaltenen Artefakten zu arbeiten). Der Index der Gruppenrepositorys ist auch eine zusammengeführte Darstellung der Indizes der einzelnen Repositorys in der Gruppe.

Soweit ich weiß, ist das Dateisystem für Nexus 2.x der erste Versuch, und wenn es fehlschlägt, wird der Lucene-Index abgefragt, um vom Remote-Host des jeweiligen Proxy-Repositorys aufgelöst zu werden.