Wie zu zwingen, Maven zum download maven-metadata.xml aus dem zentralen repository?
Was ich tun möchte, ist zu zwingen, Maven zum download 'maven-metadata.xml" für jedes Artefakt, das ich in meinem lokalen repository.
Die Standard-Maven-Verhalten, ist der download nur Metadaten von remote-repositories (siehe diese Frage).
, Warum ich das tun wollen:
Derzeit habe ich ein remote-repository die Ausführung in einem build-PC. Durch remote-repository ich meine ein Verzeichnis, das sich in der build-Maschine enthält alle Abhängigkeiten, die ich brauchen, um zu bauen mein Maven-Projekten. Beachten Sie, dass ich nicht mit einen repository-manager wie Nexus, das repository ist nur eine Kopie von einem lokalen repository hochgeladen habe ich zu meiner build Maschine.
Jedoch seit meinem lokalen repository nicht enthalten 'maven-metadata.xml' Dateien, diese Metadaten-Dateien sind auch fehlt in der build-Maschine-repository. Wenn ich könnte, abrufen der Metadaten-Dateien aus dem zentralen repository, dann wäre es möglich, laden Sie eine funktionierende remote-repository, um meine build-Maschine.
InformationsquelleAutor Alceu Costa | 2009-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie nicht wollen, um die Metadaten aus den öffentlichen repositories enthalten alle verfügbaren Versionen eines gegebenen Artefakt, in der Erwägung, dass das repository wird eine Teilmenge der Versionen.
Es ist darauf hinzuweisen, dass Sie wirklich besser wäre, mit einem repository manager. Die folgenden Schritte ermöglichen Ihnen das erstellen Sie Ihre Artefakt Metadaten nur einmal. Aber wenn sich Ihre Bedürfnisse ändern, müssen Sie den Vorgang wiederholen oder aktualisieren Sie die Dateien manuell, also warum nicht einfach einen manager? Nexus laufen kann standalone und hat eine sehr kleine Stellfläche.
Selbst wenn Sie nicht Planung über die Verwendung der Nexus für ein repository-manager, können Sie immer noch nutzen es für die Erstellung Ihrer Metadaten.
In wenigen Augenblicken sollten Sie die erzeugten Metadaten für alle Artefakte. Können Sie dann kopieren Sie Sie wo immer Sie Sie benötigen, und deinstallieren Sie Nexus.
Die Lösung für mich gearbeitet. Vielen Dank auch an sal für die Ratschläge, aber was ich wirklich brauche, ist ein workaround für das problem, auch wenn ich verstehe, dass das nicht die ideale Lösung...
Dies beantwortet die Frage nicht.
InformationsquelleAutor Rich Seller
Den Standard-Repositorys definiert sind, in der super pom.xml, dass alle poms Erben standardmäßig.
Wenn durch lokale Sie meinen, Sie wollen nur verwenden Sie ~/.m2/repos/* dann die Arbeit im offline-Modus. Hinzufügen
<offline>true</offline>
zu Ihremsettings.xml
Wenn durch Sie vor Ort, dass Ihre lokalen server, können Sie installieren einen repository-manager wie Nexus, ändern Sie Ihre Einstellungen Datei zu verwenden, nexus unter "Spiegel" wie folgt:
Und deaktivieren von remote-repositories, die Sie nicht wollen, in Nexus.
Ich glaube, Sie brauchen, um verschiedene erstellen und bereitstellen repos für Sie die remote-Maschine. Die build-Maschine verwenden Sie eine lokale maven-repo für bauen dann einen anderen Platz auf der Festplatte für die Bereitstellung. Verwenden einige server zu machen, 2. repository sichtbar. Sie wollen auch Ihre lokalen builds bereitgestellt, dass 3rd-repos. Die Metadaten Sortieren sich selbst aus in dieser situation.
was & warum
<mirrorOf>
? obige Beschreibung ist mir zu helfen.InformationsquelleAutor sal
Eine Sache, die ich fand, ist jemand dabei war eine erste Suche nach jarvana und hatte diese innerhalb der pom, wodurch ein Metadaten-Fehlermeldung auftreten. Diese ...
..es behoben und der Fehler ging Weg.
InformationsquelleAutor RichMeister
Repository-manager ist groß, aber ich nicht wollen, installieren und führen Sie es auf meinem laptop. Ich will einfach nur sparen Ressourcen.
So, meine Lösung ist weiter unten:
Nun habe ich ein repository offline mit vollem Inhalt (Binär -, Quell -, xml -, md5 -, sha1)
InformationsquelleAutor Hiep Lq