Placez les options de proxy Java avant la classe principale
Transmettez les propriétés système du proxy au lanceur Java au lieu de les livrer accidentellement comme arguments de l'application.
Ces deux commandes ne donnent pas au lanceur Java la même configuration. Utilisez l'hôte et le port de votre proxy HTTP ; la liste de proxys HTTP propose des candidats pour les routes publiques autorisées :
java -Dhttp.proxyHost=proxy.example.net -Dhttp.proxyPort=8080 -jar app.jar
java -jar app.jar -Dhttp.proxyHost=proxy.example.net -Dhttp.proxyPort=8080
Dans la première, le lanceur reçoit les options de propriétés système. Dans la seconde, les jetons situés après app.jar deviennent des arguments de l'application. Sauf si l'application les analyse délibérément, ils ne définissent pas les propriétés de proxy de la JVM.
La même frontière s'applique lorsqu'on nomme une classe principale au lieu d'utiliser -jar. Placez les options de la JVM avant le nom de la classe et les arguments propres à l'application après.
Inspectez la commande de démarrage réelle générée par un IDE, un wrapper de service ou un script de lancement. Son champ intitulé « program arguments » peut différer de son champ réservé aux options de la VM.
Le bon emplacement ne fournit que la propriété. Le client HTTP doit encore consommer cette configuration réseau Java. Pour Apache HttpClient 5, activez les propriétés système pour le client. L'authentification du proxy nécessite sa propre interface prise en charge.