Ant 的 -D 选项并不总是 JVM 代理选项
Ant 属性和 Java 系统属性可以拼写相同,却不是同一个设置。配置发出请求的 JVM 或任务。
你在 Ant 命令中加入了 -Dhttp.proxyHost=...,但下载仍然直连。这个拼写看起来像 Java 系统属性;接收它的命令才是关键。
Ant 的命令行 -D 语法定义的是 Ant 构建属性。这并不自动等同于向运行 Ant 的 JVM 传递启动选项。
Ant 记录了用于向该 JVM 提供选项的 ANT_OPTS。它还提供 setproxy 受支持代理配置的任务,可在构建中使用。请选择符合需求且与发出请求的客户端相匹配的接口。
应用于 Ant JVM 的代理不会自动配置任务启动的独立可执行程序或单独配置的客户端。如果派生的程序失败,请检查它自己的命令和环境。
对于被允许的公开下载,HTTP 代理列表可提供所选接口主机和端口的候选。尽可能将特定于机器的端点和账户密钥排除在共享构建文件之外。对一位开发者可用的构建不应强迫其他所有用户去连接这位开发者的办公室代理。
报告失败时,请说明设置是在哪里提供的:Ant 属性、JVM 启动选项、任务配置还是子进程环境。这种区分往往就是缺失的解释。