我在mac上做了一些关于Java 5的Web服务工作(10.6.2)....
自从IT开始使用代理服务器以来,生活变得更加艰难.Java似乎是在拉入系统代理服务器设置,而不是排除列表.这意味着当我尝试为"localhost"调用Web服务时,java会尝试代替他的代理服务器,然后我的调用就会爆炸.我的主机名或IP也是如此.
因此,要在办公室工作,我必须转到系统设置并删除代理配置.然后一切都很好,除了我不能上网.无论我在系统设置中使用排除列表做什么,它都对Java没有影响.
我试过-Djava.net.useSystemProxies = false,它似乎没有做任何事情.
谢谢你的帮助!
Java 5 中网络代理配置的权威参考是Java 网络和代理页面。从这个页面来看,Java 5 似乎并不关注主机环境的系统设置。但即使它应该关注它们,事实上这(显然)不适合你,这意味着你不应该依赖它......至少现在是这样。
为了显式配置 Java 5 JVM 以使用 HTTP 的默认代理,您需要设置 Java 系统属性:
http.proxyHost
- 代理的 DNS 或 IP 地址http.proxyPort
- 代理的端口号http.nonProxyHosts
- 要直接连接的主机或域的列表,由“管道”字符分隔|
。如果您也使用 HTTPS,则还需要配置https.proxyHost
和https.proxyPort
。
而且,我认为你必须做好准备http.proxyHost
才能http.nonProxyHosts
产生效果。单独设置后者可能没有效果。
更多详细信息请参见上面链接的页面。我建议在用于启动应用程序的命令脚本中使用“-D”选项。也许您可以让此脚本从系统设置中提取代理参数。
请注意,在 Java 6 及更高版本中,网络代理支持(再次)发生变化,并且 Java 6 JVM将在某些情况下从主机环境中获取并使用系统设置。
归档时间: |
|
查看次数: |
3106 次 |
最近记录: |