Разместите прокси-флаги Java перед главным классом
Передавайте системные свойства прокси загрузчику Java, а не поставляйте их случайно как аргументы приложения.
Эти две команды не дают загрузчику Java одинаковую конфигурацию. Используйте хост и порт вашего HTTP-прокси; список HTTP-прокси предлагает кандидатов для разрешённых публичных маршрутов:
java -Dhttp.proxyHost=proxy.example.net -Dhttp.proxyPort=8080 -jar app.jar
java -jar app.jar -Dhttp.proxyHost=proxy.example.net -Dhttp.proxyPort=8080
В первой загрузчик получает параметры системных свойств. Во второй токены после app.jar становятся аргументами приложения. Если приложение намеренно их не разбирает, они не задают прокси-свойства JVM.
Та же граница действует при указании главного класса вместо -jar. Ставьте параметры JVM перед именем класса, а аргументы приложения — после него.
Проверьте реальную команду запуска, создаваемую IDE, обёрткой службы или скриптом запуска. Её поле с меткой «program arguments» может отличаться от поля для параметров VM.
Правильное размещение лишь передаёт свойство. HTTP-клиент всё равно должен использовать эту сетевую конфигурацию Java. Для Apache HttpClient 5 включите для клиента системные свойства. Аутентификация прокси требует собственного поддерживаемого интерфейса.