Wie kann ich Maven dazu bringen, nicht mehr zu versuchen, nach Aktualisierungen für Artefakte einer bestimmten Gruppe von Maven-Central-Repo zu suchen?

Ich arbeite an einem ziemlich großen Maven-Projekt. Wir haben wahrscheinlich ungefähr 70 einzelne Artefakte, die grob in zwei Bibliotheken mit gemeinsamem Code und vielleicht zehn Anwendungen, die sie verwenden, aufgeteilt sind. Alle diese Elemente befinden sich im Namespacecom.mycompany.*.

Die meiste Zeit laufen wir gegen Snapshot-Builds. Wenn Sie also eine Anwendung vollständig erstellen möchten, müssen Sie 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 beim Erstellen der Anwendungen gehe. Aus irgendeinem Grund möchte Maven die beiden wichtigsten öffentlichen Repositorys (Maven-Net-Repo und Java-Net-Repo) auf Updates für alle überprüfenmycompany-*-SNAPSHOT.jar Artefakte. Natürlich werden sie dort nicht gefunden und irgendwann wird alles auf die Versionen zurückgeführt, die ich gerade in meinem lokalen Repository erstellt habe, aber ich möchte, dass Maven dies nicht mehr tut, weil (a) ich mich dadurch wie ein schlechter net.citizen fühle für das ständige Überprüfen dieser Repositorys auf Dinge, die niemals da 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 Aktualisierungen von bestimmten Repositorys für Artefakte sucht, die bestimmte Kriterien erfüllen. In diesem Fall wäre ich froh, wenn Maven entweder SNAPSHOT-Versionen oder Artefakte, die sich in befinden, ignorieren würde dascom.mycompany Namespace.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage