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