Un plugin proxy automatique semble idéal pour un ordinateur portable qui passe d'un réseau à l'autre. Il y a cependant une première requête délicate : Maven peut avoir besoin du proxy pour obtenir le plugin lui-même.

Un objectif de plugin ne s'exécute qu'une fois que Maven peut résoudre et charger son implémentation et les artefacts requis. La découverte de proxy à l'intérieur de cette implémentation ne peut pas aider un téléchargement qui échoue avant le démarrage de l'implémentation. Utiliser des coordonnées de plugin pleinement qualifiées peut éviter une recherche par préfixe ; cela ne fait pas apparaître l'artefact du plugin dans un dépôt local vide.

L'ancien plugin Autoproxy pour Maven illustre la distinction. Son README décrit la découverte de proxy via proxy-vole, mais décrit aussi l'installation locale du plugin avant d'invoquer son objectif. Considérez cela comme un prérequis de cette conception particulière, et non comme la preuve que Maven lit universellement les paramètres PAC du navigateur.

Donnez à la première résolution une route explicite

Pour un réseau où l'accès au dépôt exige un proxy HTTP, configurez le proxy actif approprié dans les paramètres Maven utilisés par cette invocation. Pour un amorçage autorisé depuis un dépôt public, choisissez un candidat HTTP dans la liste des proxys HTTP. Un dépôt interne approuvé joignable sans la route externe peut aussi résoudre le problème d'accès initial. L'une ou l'autre approche doit couvrir le plugin et ses dépendances, pas seulement celles de l'application.

Un dépôt local déjà rempli peut masquer l'exigence d'amorçage. Un succès sur l'ordinateur portable d'un développeur ne prouve pas qu'un nouveau compte CI peut lancer la même compilation. Regardez l'artefact et la phase en échec avant de modifier la logique de détection du plugin.

Une fois le plugin chargé, un échec de dépendance ultérieur devient une question distincte : la route détectée est-elle correcte et le transport Maven actif utilise-t-il les paramètres qui en résultent. Gardez ces deux points de défaillance distincts lorsque vous décidez si la détection automatique mérite d'être conservée.

Articles similaires