Um plugin de proxy automático parece ideal para um portátil que se move entre redes. Há um primeiro pedido incómodo: o Maven pode precisar do proxy para obter o próprio plugin.

O objetivo de um plugin só é executado depois de o Maven conseguir resolver e carregar a sua implementação e os artefatos necessários. A descoberta de proxy dentro dessa implementação não pode ajudar um download que falha antes de a implementação arrancar. Usar coordenadas de plugin totalmente qualificadas pode evitar uma pesquisa por prefixo; mas não faz o artefato do plugin aparecer num repositório local vazio.

O antigo plugin Autoproxy para Maven ilustra a distinção. O seu README descreve a descoberta de proxy através do proxy-vole, mas também descreve a instalação local do plugin antes de invocar o seu objetivo. Trate isso como um pré-requisito desse desenho específico, não como prova de que o Maven lê universalmente as configurações PAC do navegador.

Dê à primeira resolução uma rota explícita

Para uma rede em que o acesso ao repositório exige um proxy HTTP, configure o proxy ativo adequado nas configurações do Maven usadas por essa invocação. Para um bootstrap permitido a partir de um repositório público, escolha um candidato HTTP da lista de proxies HTTP. Um repositório interno aprovado acessível sem a rota externa também pode resolver o problema de acesso inicial. Qualquer abordagem deve cobrir o plugin e as suas dependências, não apenas as dependências da aplicação.

Um repositório local já preenchido pode ocultar o requisito de bootstrap. O sucesso no portátil de um programador não prova que uma nova conta de CI possa iniciar a mesma compilação. Veja o artefato e a fase que falharam antes de alterar a lógica de deteção do plugin.

Depois de o plugin ser carregado, uma falha posterior de dependência torna-se uma questão separada: se a rota detetada está correta e se o transporte ativo do Maven usa as configurações resultantes. Mantenha esses dois pontos de falha separados ao decidir se vale a pena manter a deteção automática.

Artigos relacionados