Maven Wagon HTTP

This component is an implementation of Wagon provider for HTTP access. It uses Apache HttpComponents client as lower level layer.

It enables Maven to use remote repositories stored in HTTP servers.


Starting with version 2.0, a pooled http connection manager is used. You can configure it through the following system properties:

  • maven.wagon.http.pool = true/false (default true), enable/disable the pool mechanism.
  • maven.wagon.httpconnectionManager.maxPerRoute = integer (default 20), maximum number of http(s) connection per destination.
  • maven.wagon.httpconnectionManager.maxTotal = integer (default 40), maximum number of http(s) connection.

Other features can be configured through system properties:

  • maven.wagon.http.ssl.insecure = true/false (default false), enable/disable use of relaxed ssl check for user generated certificates.
  • maven.wagon.http.ssl.allowall = true/false (default false), enable/disable match of the server's X.509 certificate with hostname. If disabled, a browser like check will be used.
  • maven.wagon.http.ssl.ignore.validity.dates = true/false (default false), ignore issues with certificate dates.
  • maven.wagon.rto = time in ms (default 1800000), read time out.

Since version 3.2, the retry handler can be configured with system properties:

  • maven.wagon.http.retryHandler.class supports this set of values:
  • maven.wagon.http.retryHandler.requestSentEnabled = requestSentEnabled for default or standard implementations.
  • maven.wagon.http.retryHandler.count = number of retries for default or standard implementations.
  • maven.wagon.http.retryHandler.nonRetryableClasses = a comma-separated list of fully qualified class names bypassing the retries (only the default implementation). If not set, the default value from DefaultHttpRequestRetryHandler will be used.