Update-Nexus-repository mit lokalen Artefakten
ich vor kurzem heruntergeladen einige maven-Artefakte direkt auf meinem lokalen repository (.m2/repository).
Nun installierte ich das Nexus Repository Manager und brauchen, zu füllen Ihre Speicher ohne zu downloaden alle Artefakte wieder. Gibt es eine Möglichkeit zum update der Nexus-repository mit der lokalen.
Ich will nicht einfach kopieren, weil Nexus separate Artefakte in Bezug auf Ihre public Server (zentral, codehaus, etc.) und die lokalen repository-Struktur nicht.
Update:
Mittlerweile habe ich kopiert, die die Artefakte aus dem lokalen repository auf den Nexus-Speicher (public-repository). Ich kann surfen, um die Artefakte über die Nexus-webapp, aber Maven kann das irgendwie nicht lösen, die Artefakte aus Nexus.
Muss ich mich registrieren, sind Sie vor allem? Ich re-indiziert die öffentlichen repository und das Nexus neu gestartet mehrere Male - keine änderungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nexus hat mehrere Typen von repositories: gehosteten repositories (diejenigen, die wirklich store maven-Artefakte), proxy-repositories (das umleiten von Datenverkehr zu anderen remote-Repositorys, wenn Sie ein Artefakt ist beantragt), virtuelle repositories (bloße adapter von maven1 repositories [aus dem Anwendungsbereich dieser Frage]). Sie können auch erstellen repository-Gruppen dienen kann, Artefakte von einem der Aggregate (die
public
repository ist einer von diesen).Zusätzlich, nexus teilt Ihre repositories nach seiner Veröffentlichung Politik in snapshots und releases. Der ehemalige speichert nur die snapshot-Artefakte; während die letzteren, in der Theorie, können beide snapshots und releases, aber es ist eigentlich verhält sich fehlerhaft wenn die repo ist sehr groß und enthält Momentaufnahmen.
Gastgeber Ihre Artefakte, die Sie benötigen, um:
Erste: Teilen Sie Ihre lokale repository in zwei: eine mit den snapshots und der anderen mit den releases. Nexus-repository-Konvertierung tool wird Ihnen helfen, wenn Sie Ihre repo ist sehr groß:
Einmal downlaoded können Sie nur ausführen
java -jar nexus-repository-conversion-tool-1.8.0.1-cli.jar -rSource -oTarget
woSource
ist das Verzeichnis mit dem lokalen repository zu bewegen, um nexus undTarget
ist eine vorhandene, leere und beschreibbare Verzeichnis, in dem die Konvertierung tool verlassen die geöffneten repositories. Vorausgesetzt, die Quell-Verzeichnis istrepository
und Ziel isttemp
erstellentemp/repository-snapshots
undtemp/repository-releases
Verzeichnisse.Zweite: bewegen Sie Ihre gesplittet repos zu nexus. Und lassen Sie Sie in
${NEXUS_HOME}/sonatype-work/nexus/storage
oder wo auch immer Ihr nexus-installation konfiguriert ist zum speichern des Repositorys.Dritte: erstellen Sie zwei gehosteten repositories mit der gleichen id wie die repos, die Sie bewegt, im zweiten Schritt. (im Beispiel
repository-snapshots
undrepository-releases
)Wenn Ihr repo würde nur die enthaltenen Versionen Ihrer Lösung gearbeitet haben, aber haben Sie begangen, ein weiterer Fehler. Obwohl nexus speichert Artefakte für jedes repository, der Speicher für die, die nicht gehostet repos ist nur für caching-Zwecke (wie im Fall der
public
repository), müssten Sie kopiert Ihren Inhalt in einer gehosteten, um zu arbeiten.