Saya sedang mengembangkan aplikasi web Spring sederhana yang berkomunikasi dengan host jarak jauh dan saya ingin mengujinya secara lokal di belakang proxy perusahaan. Saya menggunakan plugin gradle "Spring Boot" dan pertanyaannya adalah bagaimana saya dapat menentukan pengaturan proxy untuk JVM?
Saya telah mencoba beberapa cara untuk melakukannya:
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"
Tapi sepertinya tidak ada yang berfungsi - "NoRouteToHostException" melempar kode "jaringan". Juga, saya telah menambahkan beberapa kode tambahan untuk men-debug argumen awal JVM:
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
Dan hanya satu argumen yang dicetak: "-Dfile.encoding = UTF-8".
Jika saya mengatur properti sistem dalam kode:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
Semuanya bekerja dengan baik!