如何从 bootRun 传递 JVM 选项
2022-08-31 09:28:38
我正在开发与远程主机通信的简单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");
一切都很好!