如何设置JVM使用的代理

问题:

很多时候,Java应用程序需要连接到Internet。最常见的示例发生在读取XML文件并需要下载其模式时。
我在一个代理服务器后面。如何设置我的JVM使用代理?

回答:

从Java文档(not javadoc API):
 http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
在命令行启动JVM时,设置JVM标志http.proxyHosthttp.proxyPort
这通常在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"

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How do I set the proxy to be used by the JVM

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

4 + = 10