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.

Artigos relacionados