원격 호스트와 통신하는 간단한 Spring 웹 애플리케이션을 개발 중이며 회사 프록시 뒤에서 로컬로 테스트하고 싶습니다. "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");
모든 것이 잘 작동합니다!