我正在开发一个简单的 Spring Web 应用程序,它可以与远程主机进行通信,我想在公司代理的本地环境下进行测试。 我使用“ Spring Boot”gradle 插件,问题是 < strong > 如何为 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”引入了“ network”代码。 另外,我还添加了一些额外的代码来调试 JVM start 参数:
RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimeMxBean.getInputArguments();
for (String arg: arguments) System.out.println(arg);
而且只打印了一个参数: “-Dfile.coding = UTF-8”。
如果在代码中设置系统属性:
System.setProperty("http.proxyHost", "X.X.X.X");
System.setProperty("http.proxyPort", "8080");
一切正常!