Я разрабатываю простое веб-приложение 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:
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");
Все отлично работает!