Wie findet mein Pom meinen Eltern Pom, wenn die Repositories im Eltern Pom konfiguriert sind?
Habe ich umgestaltet werden alle repository-Konfiguration aus meinen verschiedenen Projekten in einen übergeordneten pom, die ich erstellt habe für den spezifischen Zweck des habens eines single-point-of-Konfiguration für Sachen wie repo-und distribution management. Dies soll zu einer best practice wie ich es verstehe. In bereitgestellten meinen Eltern pom an den nexus server, und dann versuchte zu laufen mein Kind-Projekte. Sie kann nicht finden, meine parent-pom . . . diese Art von Sinn macht für mich da, ohne das parent-pom, die Sie nicht wissen über die nexus-repo . . . scheint wie ein Huhn-und-ei-Art der Sache? Übersehe ich etwas offensichtliches?
InformationsquelleAutor der Frage chad | 2012-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist wahr, dass Ihr Projekt muss wissen, wo die repositories herunterladen der Abhängigkeiten. Aber bevor ich auf externe repositories Maven wird überprüfen Sie Ihre lokalen repository, um zu sehen, wenn die Artefakte, die es braucht, sind da. Gibt es in Ihrem lokalen repository enthalten die parent-pom? Wenn nicht, können Sie es hinzufügen, durch ausführen
auf das parent-pom. Das problem wurde möglicherweise verursacht durch die Bereitstellung der parent-pom direkt zu Nexus, unter Umgehung Ihre lokale ein. Sie können dies vermeiden, in Zukunft durch die Bereitstellung mit
Diese zunächst installieren Sie das Artefakt lokal, und anschließend bereitstellen Sie das externe repository (Nexus in diesem Fall). Mehr details hier: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
Wenn Sie in eine situation, in der Ihr übergeordneten pom ist erstellt und bereitgestellt, die von anderen, dies wird nicht helfen. Sie können entweder geben Sie die Repositorys, die in Ihrem Projekt pom, oder in Ihrem lokalen settings.xml. Ein gemeinsamer Ansatz ist zu erwarten, dass alle Entwickler, um eine repository-definition, die in Ihren lokalen settings.xml die Punkte auf Ihrem Nexus-repository zu verwenden, indem es als ein Spiegel für alle anderen repositories. Sie können dann konfigurieren Sie die einzelnen externen repository müssen Sie im Nexus, und lassen Sie es abrufen, alle Abhängigkeiten, die Sie brauchen für Sie. Ich bin nicht vertraut mit Nexus, aber mehr details über die spiegelung kann hier gefunden werden: http://maven.apache.org/guides/mini/guide-mirror-settings.html
InformationsquelleAutor der Antwort Conan
Müssen Sie die repositories von Definitionen für jedes Kind (maven-Modul), das ist eine wichtige best practice in einem build-Prozess: "Machen Sie den build portable".
Entwickler/- system sollte in der Lage sein zu erstellen, die module ohne Quellcode-Abhängigkeiten, um die Eltern oder andere Module, nur mit dem repository verweisen.
InformationsquelleAutor der Antwort alexfdz