Je développe une application Web Spring simple qui communique avec un hôte distant et j'aimerais la tester localement derrière un proxy d'entreprise. J'utilise le plugin gradle "Spring Boot" et la question est de savoir comment spécifier les paramètres de proxy pour JVM?
J'ai essayé plusieurs façons de le faire:
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"
Mais il semble qu'aucun d'eux ne fonctionne - "NoRouteToHostException" jette du code "réseau". De plus, j'ai ajouté du code supplémentaire pour déboguer les arguments de démarrage JVM:
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
Et un seul argument a été affiché: "-Dfile.encoding = UTF-8".
Si je définis la propriété système dans le code:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
Tout fonctionne très bien!