Sto sviluppando una semplice applicazione web Spring che comunica con l'host remoto e vorrei testarla localmente dietro proxy aziendale. Uso il plugin gradle "Spring Boot" e la domanda è: come posso specificare le impostazioni proxy per JVM?
Ho provato diversi modi per farlo:
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"
Ma sembra che nessuno di loro funzioni - "NoRouteToHostException" genera il codice di "rete". Inoltre, ho aggiunto del codice extra per eseguire il debug degli argomenti di avvio di JVM:
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
Ed è stato stampato un solo argomento: "-Dfile.encoding = UTF-8".
Se imposto la proprietà di sistema nel codice:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
Funziona tutto bene!