この 2 つのコマンドは 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

1 つ目では、ランチャーがシステムプロパティのオプションを受け取ります。2 つ目では、app.jar より後のトークンがアプリケーション引数になります。アプリケーションが意図的に解析しない限り、JVM のプロキシプロパティは設定されません。

-jar の代わりにメインクラスを指定する場合も同じ境界が当てはまります。JVM オプションはクラス名の前に、アプリケーション固有の引数はその後に置きます。

IDE、サービスラッパー、起動スクリプトが生成する実際の起動コマンドを確認してください。「program arguments」とラベル付けされたフィールドは、VM オプション用のフィールドとは異なる場合があります。

正しい位置に置いても提供されるのはプロパティだけです。HTTP クライアントはその Java ネットワーク構成を依然として利用する必要があります。Apache HttpClient 5 の場合は、クライアントがシステムプロパティを使用するように設定します。プロキシ認証には、それ専用のサポートされたインターフェースが必要です。

関連記事