【发布时间】:2026-01-14 23:05:02
【问题描述】:
我正在开发与远程主机通信的简单 Spring Web 应用程序,我想在公司代理后面对其进行本地测试。 我使用“Spring Boot”gradle 插件,问题是如何为 JVM 指定代理设置?
我尝试了几种方法:
gradle -Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080 bootRunexport 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");
一切正常!
【问题讨论】:
标签: java gradle spring-boot