Maven Wagon HTTP

该组件是用于 HTTP 访问的 Wagon 提供程序的实现。它使用Apache HttpComponents Client 4.5.x作为底层。

它使 Maven 能够使用存储在 HTTP 服务器中的远程存储库。

特征

从 2.0 版开始,使用池化 http 连接管理器。您可以通过以下系统属性对其进行配置:

  • maven.wagon.http.pool = true/false(默认为 true),启用/禁用池机制。
  • maven.wagon.httpconnectionManager.maxPerRoute = 整数(默认 20),每个目的地的最大 http(s) 连接数。
  • maven.wagon.httpconnectionManager.maxTotal = 整数(默认 40),最大 http(s) 连接数。

其他功能可以通过系统属性进行配置:

  • maven.wagon.http.ssl.insecure = true / false(默认为false),启用/禁用对公钥证书(例如自签名证书)的宽松检查。宽松检查意味着如果链中的所有证书日期都有效,则任何具有 1 个或多个证书的链都将被视为有效(日期检查也可以被覆盖 - 见下文)。将其设置为true还可以使用以下属性:
    • maven.wagon.http.ssl.allowall = true / false(默认为false),是否将服务器的 X.509 证书与请求的 IP/DNS 名称匹配。如果为false /unset,将使用常规服务器检查,这意味着服务器的 IP/DNS 必须匹配第一个 CN、主题字段或主题备用名称扩展值之一(如果主题或 SAN 类型是dNSNameiPAddress -有关详细信息,请参阅 RFC 5280)。否则,将不应用此类匹配。
    • maven.wagon.http.ssl.ignore.validity.dates = true / false(默认为false),是否忽略证书日期问题(即证书过期或无效时)。
  • maven.wagon.rto = 以毫秒为单位的时间(默认 1800000),读取超时。

从 3.2 版开始,可以使用系统属性配置重试处理程序:

  • maven.wagon.http.retryHandler.class支持这组值:
  • maven.wagon.http.retryHandler.requestSentEnabled = requestSentEnabled用于默认标准实现。
  • maven.wagon.http.retryHandler.count =默认标准实现的重试次数。
  • maven.wagon.http.retryHandler.nonRetryableClasses = 绕过重试的完全限定类名的逗号分隔列表(仅默认实现)。如果未设置,将使用DefaultHttpRequestRetryHandler的默认值。
注意力
任何重试处理程序只能在执行请求并接收响应头时对异常做出反应。它不会挽救正在进行的响应主体流的飞行故障。