Ich arbeite an einem ziemlich großen Maven-Projekt. Wir haben wahrscheinlich ungefähr 70 einzelne Artefakte, die grob in zwei Bibliotheken mit gemeinsam genutztem Code und möglicherweise zehn Anwendungen, die sie verwenden, aufgeteilt sind. Alle diese Elemente befinden sich im Namespace com.mycompany.*
.
Die meiste Zeit laufen wir gegen Snapshot-Builds. Um eine vollständige Erstellung einer Anwendung durchzuführen, kann ich zunächst die Bibliotheksprojekte so erstellen, dass sie in meinem lokalen Repository installiert werden (z. B. mycompany-libname-2.4-SNAPSHOT.jar
).
Das Problem ist, dass ich dann die Anwendungen erstelle. Aus irgendeinem Grund möchte Maven die beiden wichtigsten öffentlichen Repositorys (maven-net-repo und java-net-repo) auf Aktualisierungen für alle mycompany-*-SNAPSHOT.jar
Artefakte überprüfen . Natürlich werden sie dort nicht gefunden und alles wird schließlich auf die Versionen zurückgeführt, die ich gerade in meinem lokalen Repository erstellt habe, aber ich möchte, dass Maven damit aufhört, weil (a) ich mich dadurch wie ein schlechter net.citizen fühle für die ständige Überprüfung dieser Repositorys auf Dinge, die niemals vorhanden sein werden, und (b) es fügt meinem Erstellungsprozess eine unnötige und lästige Netzwerklatenz hinzu.
Ich habe Maven die meiste Zeit im Offline-Modus ausgeführt, um dies zu umgehen, aber das ist nicht ideal, da gelegentlich eine Abhängigkeit von einer öffentlichen Bibliothek aktualisiert wird. Was ich also suche, ist eine Lösung, die dazu führt, dass Maven nicht nach Updates aus bestimmten Repositorys für Artefakte sucht, die bestimmte Kriterien erfüllen. In diesem Fall würde ich mich freuen, wenn Maven entweder SNAPSHOT-Versionen oder Artefakte, die sich darin befinden, ignorieren würde der com.mycompany
Namespace.