リモートホストと通信する簡単なSpring Webアプリケーションを開発しています。企業のプロキシの背後でローカルにテストしたいと考えています。「Spring Boot」gradleプラグインを使用していますが、JVMのプロキシ設定を指定するにはどうすればよいですか。
私はそれを行うためにいくつかの方法を試しました:
gradle -Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080 bootRun
export JAVA_OPTS="-Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080"
export GRADLE_OPTS="-Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080"
しかし、それらのどれも機能しないようです-「NoRouteToHostException」は「ネットワーク」コードをスローします。また、JVM開始引数をデバッグするためのコードをいくつか追加しました。
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
また、出力された引数は「-Dfile.encoding = UTF-8」のみです。
コードでシステムプロパティを設定した場合:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
すべてうまくいきます!