我正在开发与远程主机通信的简单Spring Web应用程序,我想在公司代理之后在本地对其进行测试。我使用“ 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");
一切正常!