Coloque as flags de proxy do Java antes da classe principal
Passe as propriedades de sistema do proxy para o lançador do Java em vez de entregá-las acidentalmente como argumentos da aplicação.
Estes dois comandos não dão ao lançador do Java a mesma configuração. Use o host e a porta do seu proxy HTTP; a lista de proxies HTTP oferece candidatos para rotas públicas permitidas:
java -Dhttp.proxyHost=proxy.example.net -Dhttp.proxyPort=8080 -jar app.jar
java -jar app.jar -Dhttp.proxyHost=proxy.example.net -Dhttp.proxyPort=8080
No primeiro, o lançador recebe opções de propriedades de sistema. No segundo, os tokens após app.jar tornam-se argumentos da aplicação. A menos que a aplicação os analise deliberadamente, eles não definem as propriedades de proxy da JVM.
O mesmo limite se aplica ao nomear uma classe principal em vez de usar -jar. Coloque as opções da JVM antes do nome da classe e os argumentos específicos da aplicação depois.
Inspecione o comando de inicialização real gerado por uma IDE, um wrapper de serviço ou um script de lançamento. O campo rotulado “program arguments” pode ser diferente do campo para opções da VM.
A colocação correta apenas fornece a propriedade. O cliente HTTP ainda precisa consumir essa configuração de rede do Java. Para o Apache HttpClient 5, habilite as propriedades de sistema no cliente. A autenticação de proxy precisa da sua própria interface suportada.