很多时候,Java 应用程序需要连接到 Internet。最常见的示例发生在读取 XML 文件并需要下载其模式时。 我在代理服务器后面。如何设置我的 JVM 以使用代理? 原文由 Leonel 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 Java 文档( 不是 javadoc API): http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html 在命令行上启动 JVM 时,设置 JVM 标志 http.proxyHost 和 http.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.*.*.*|*.example.com|etc" 原文由 Leonel 发布,翻译遵循 CC BY-SA 4.0 许可协议
要使用系统代理设置: java -Djava.net.useSystemProxies=true ... 或者以编程方式: System.setProperty("java.net.useSystemProxies", "true"); 来源: http ://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html 原文由 gr5 发布,翻译遵循 CC BY-SA 3.0 许可协议
从 Java 文档( 不是 javadoc API):
http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
在命令行上启动 JVM 时,设置 JVM 标志
http.proxyHost
和http.proxyPort
。这通常在 shell 脚本(在 Unix 中)或 bat 文件(在 Windows 中)中完成。这是 Unix shell 脚本的示例:在使用 JBoss 或 WebLogic 等容器时,我的解决方案是编辑供应商提供的启动脚本。
许多开发人员都熟悉 Java API (javadocs),但很多时候文档的其余部分被忽略了。它包含很多有趣的信息:http: //download.oracle.com/javase/6/docs/technotes/guides/
更新: 如果您不想使用代理来解析某些本地/内部网主机,请查看 @Tomalak 的评论: