Maven deve raggiungere il plugin proxy prima di poterlo eseguire
Comprendi il problema di bootstrap quando un plugin Maven promette di scoprire un proxy ma i suoi stessi artefatti non possono essere risolti.
Un plugin proxy automatico sembra ideale per un portatile che si sposta tra reti. C'è però una prima richiesta scomoda: Maven potrebbe aver bisogno del proxy per ottenere il plugin stesso.
Un obiettivo di plugin viene eseguito solo dopo che Maven riesce a risolvere e caricare la sua implementazione e gli artefatti richiesti. La scoperta del proxy all'interno di quell'implementazione non può aiutare un download che fallisce prima che l'implementazione parta. Usare coordinate di plugin completamente qualificate può evitare una ricerca per prefisso; ma non fa comparire l'artefatto del plugin in un repository locale vuoto.
Il vecchio plugin Autoproxy per Maven illustra la distinzione. Il suo README descrive la scoperta del proxy tramite proxy-vole, ma descrive anche l'installazione locale del plugin prima di invocare il suo obiettivo. Consideralo un prerequisito di quel particolare design, non una prova che Maven legga universalmente le impostazioni PAC del browser.
Dai alla prima risoluzione una rotta esplicita
Per una rete in cui l'accesso al repository richiede un proxy HTTP, configura il proxy attivo appropriato nelle impostazioni Maven usate da quella invocazione. Per un bootstrap consentito da un repository pubblico, scegli un candidato HTTP dalla lista dei proxy HTTP. Un repository interno approvato raggiungibile senza la rotta esterna può anch'esso risolvere il problema di accesso iniziale. Qualsiasi approccio deve coprire il plugin e le sue dipendenze, non solo quelle dell'applicazione.
Un repository locale già popolato può nascondere il requisito di bootstrap. Un successo sul portatile di uno sviluppatore non dimostra che un nuovo account CI possa avviare la stessa build. Guarda l'artefatto e la fase che falliscono prima di cambiare la logica di rilevamento del plugin.
Una volta caricato il plugin, un successivo errore di dipendenza diventa una questione separata: se la rotta rilevata è corretta e se il trasporto Maven attivo usa le impostazioni risultanti. Mantieni separati questi due punti di errore quando decidi se vale la pena conservare il rilevamento automatico.