ฉันกำลังพัฒนาแอปพลิเคชันเว็บ Spring แบบง่ายที่สื่อสารกับโฮสต์ระยะไกลและฉันต้องการทดสอบในเครื่องหลังพร็อกซีขององค์กร ฉันใช้ปลั๊กอิน gradle "Spring Boot" และคำถามคือฉันจะระบุการตั้งค่าพร็อกซีสำหรับ 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 start อาร์กิวเมนต์
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");
ทุกอย่างทำงานได้ดี!