Je travaille sur un assez gros projet Maven. Nous avons probablement environ 70 artefacts individuels, qui sont à peu près divisés en deux bibliothèques de code partagé et peut-être dix applications qui les utilisent. Tous ces éléments vivent dans l'espace de noms com.mycompany.*
.
La plupart du temps, nous utilisons des compilations de snapshots. Donc, pour faire une compilation complète d'une application, je pourrais d'abord construire les projets de bibliothèque afin qu'ils soient installés dans mon référentiel local (comme, par exemple, mycompany-libname-2.4-SNAPSHOT.jar
).
Le problème est que lorsque je vais ensuite créer les applications. Pour une raison quelconque, Maven veut vérifier les deux principaux référentiels publics (maven-net-repo et java-net-repo) pour les mises à jour de tous les mycompany-*-SNAPSHOT.jar
artefacts. Bien sûr, ils ne sont pas trouvés là-bas, et tout finit par revenir aux versions que je viens de créer dans mon référentiel local, mais j'aimerais que Maven arrête de faire cela parce que (a) cela me fait me sentir comme un mauvais net. pour vérifier constamment ces référentiels pour des choses qui ne seront jamais là, et (b) cela ajoute une latence réseau inutile et ennuyeuse dans mon processus de construction.
J'ai commencé à exécuter maven en mode hors ligne la plupart du temps pour contourner ce problème, mais ce n'est pas l'idéal car parfois une dépendance à une bibliothèque publique sera mise à jour. Donc, ce que je recherche, c'est une solution qui empêchera Maven de vérifier les mises à jour des référentiels donnés pour les artefacts qui répondent à certains critères - dans ce cas, je serais heureux si Maven ignorait les versions de SNAPSHOT ou les artefacts qui étaient dans l' com.mycompany
espace de noms.