Tôi đang phát triển ứng dụng web Spring đơn giản giao tiếp với máy chủ từ xa và tôi muốn thử nghiệm nó cục bộ sau proxy của công ty. Tôi sử dụng plugin gradle "Spring Boot" và câu hỏi là làm cách nào tôi có thể chỉ định cài đặt proxy cho JVM?
Tôi đã thử một số cách để làm điều đó:
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"
Nhưng có vẻ như không có cái nào trong số chúng hoạt động - "NoRouteToHostException" ném vào mã "mạng". Ngoài ra, tôi đã thêm một số mã bổ sung để gỡ lỗi các đối số bắt đầu JVM:
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
Và chỉ có một đối số được in: "-Dfile.encoding = UTF-8".
Nếu tôi đặt thuộc tính hệ thống trong mã:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
Mọi thứ hoạt động tốt!