一尘不染

Java如何设置JVM使用的代理

java

很多时候,Java应用程序需要连接到Internet。最常见的示例是在读取XML文件并需要下载其架构时发生的。

我在代理服务器后面。如何设置我的JVM使用代理?


阅读 1067

收藏
2020-02-29

共1个答案

一尘不染

从Java文档(不是 javadoc API)中:

http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

设置JVM标志http.proxyHost以及http.proxyPort在命令行上启动JVM时。这通常是在Shell脚本(在Unix中)或bat文件(在Windows中)中完成的。这是Unix shell脚本的示例:

JAVA_FLAGS=-Dhttp.proxyHost=10.0.0.100 -Dhttp.proxyPort=8800
java ${JAVA_FLAGS} ...

当使用诸如JBoss或WebLogic之类的容器时,我的解决方案是编辑供应商提供的启动脚本。

许多开发人员熟悉Java API(javadocs),但是很多其他文档却被忽略了。它包含许多有趣的信息:http : //download.oracle.com/javase/6/docs/technotes/guides/

更新:如果你不想使用代理来解析某些本地/内联网主机,请查看@Tomalak中的注释:

另外,不要忘记http.nonProxyHosts属性!

-Dhttp.nonProxyHosts="localhost|127.0.0.1|10.*.*.*|*.foo.com‌​|etc"
2020-02-29