Class ConfigurationProperties

    • Field Detail

      • PREFIX_SYSTEM

        public static final java.lang.String PREFIX_SYSTEM
        Prefix for repository system related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_CONNECTOR

        public static final java.lang.String PREFIX_CONNECTOR
        Prefix for connector related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_LAYOUT

        public static final java.lang.String PREFIX_LAYOUT
        Prefix for layout related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_CHECKSUMS

        public static final java.lang.String PREFIX_CHECKSUMS
        Prefix for checksum related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_LRM

        public static final java.lang.String PREFIX_LRM
        Prefix for local repository manager related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_GENERATOR

        public static final java.lang.String PREFIX_GENERATOR
        Prefix for generator related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_UTIL

        public static final java.lang.String PREFIX_UTIL
        Prefix for util related configurations. For internal use only.
        Since:
        2.0.10
        See Also:
        Constant Field Values
      • PREFIX_TRANSPORT

        public static final java.lang.String PREFIX_TRANSPORT
        Prefix for transport related configurations. For internal use only.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • PREFIX_PRIORITY

        public static final java.lang.String PREFIX_PRIORITY
        The prefix for properties that control the priority of pluggable extensions like transporters. For example, for an extension with the fully qualified class name "org.eclipse.MyExtensionFactory", the configuration properties "aether.priority.org.eclipse.MyExtensionFactory", "aether.priority.MyExtensionFactory" and "aether.priority.MyExtension" will be consulted for the priority, in that order (obviously, the last key is only tried if the class name ends with "Factory"). The corresponding value is a float and the special value Float.NaN or "NaN" (case-sensitive) can be used to disable the extension.
        See Also:
        Constant Field Values
      • IMPLICIT_PRIORITIES

        public static final java.lang.String IMPLICIT_PRIORITIES
        A flag indicating whether the priorities of pluggable extensions are implicitly given by their iteration order such that the first extension has the highest priority. If set, an extension's built-in priority as well as any corresponding aether.priority.* configuration properties are ignored when searching for a suitable implementation among the available extensions. This priority mode is meant for cases where the application will present/inject extensions in the desired search order.
        See Also:
        Constant Field Values
      • CACHED_PRIORITIES

        public static final java.lang.String CACHED_PRIORITIES
        A flag indicating whether the created ordered components should be cached in session.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • CLASS_PRIORITIES

        public static final java.lang.String CLASS_PRIORITIES
        The priority to use for a certain extension class. <class> can either be the fully qualified name or the simple name of a class. If the class name ends with Factory that suffix could optionally be left out. This configuration is used by org.eclipse.aether.internal.impl.PrioritizedComponents internal utility to sort classes by priority. This is reusable utility (so an extension can make use of it), but by default in "vanilla" Resolver following classes are sorted:
        • org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory
        • org.eclipse.aether.spi.connector.RepositoryConnectorFactory
        • org.eclipse.aether.spi.connector.layout.RepositoryLayoutFactory
        • org.eclipse.aether.spi.connector.transport.TransporterFactory
        • org.eclipse.aether.spi.artifact.decorator.ArtifactDecoratorFactory
        • org.eclipse.aether.spi.artifact.generator.ArtifactGeneratorFactory
        • org.eclipse.aether.impl.MetadataGeneratorFactory
        See Also:
        Constant Field Values
      • USER_AGENT

        public static final java.lang.String USER_AGENT
        The user agent that repository connectors should report to servers.
        See Also:
        Constant Field Values
      • CONNECT_TIMEOUT

        public static final java.lang.String CONNECT_TIMEOUT
        The maximum amount of time (in milliseconds) to wait for a successful connection to a remote server. Non-positive values indicate no timeout.
        See Also:
        Constant Field Values
      • REQUEST_TIMEOUT

        public static final java.lang.String REQUEST_TIMEOUT
        The maximum amount of time (in milliseconds) to wait for remaining data to arrive from a remote server. Note that this timeout does not restrict the overall duration of a request, it only restricts the duration of inactivity between consecutive data packets. Non-positive values indicate no timeout.
        See Also:
        Constant Field Values
      • HTTP_HEADERS

        public static final java.lang.String HTTP_HEADERS
        The request headers to use for HTTP-based repository connectors. The headers are specified using a Map<String, String>, mapping a header name to its value. Besides this general key, clients may also specify headers for a specific remote repository by appending the suffix .&lt;repoId&gt; to this key when storing the headers map. The repository-specific headers map is supposed to be complete, i.e. is not merged with the general headers map.

        Security note: configured headers are attached to every request the transport sends for the repository and, depending on the transport implementation, may be re-sent when the repository responds with a redirect - including redirects that leave the repository origin. Avoid placing credentials (for example Authorization, cookies or private token headers) in this map where repository authentication can be used instead: repository authentication is negotiated per host. All shipped HTTP transports scope configured headers to the repository origin by default, see the per-transport originScopedHeaders configuration keys (aether.transport.apache.originScopedHeaders, aether.transport.jdk.originScopedHeaders, aether.transport.jetty.originScopedHeaders).

        See Also:
        Constant Field Values
      • HTTP_CREDENTIAL_ENCODING

        public static final java.lang.String HTTP_CREDENTIAL_ENCODING
        The encoding/charset to use when exchanging credentials with HTTP servers. Besides this general key, clients may also specify the encoding for a specific remote repository by appending the suffix .&lt;repoId&gt; to this key when storing the charset name.
        See Also:
        Constant Field Values
      • HTTP_RETRY_HANDLER_COUNT

        public static final java.lang.String HTTP_RETRY_HANDLER_COUNT
        The maximum number of times a request to a remote server should be retried in case of an error.
        Since:
        1.9.6
        See Also:
        Constant Field Values
      • HTTP_RETRY_HANDLER_INTERVAL

        public static final java.lang.String HTTP_RETRY_HANDLER_INTERVAL
        The initial retry interval in millis of request to a remote server should be waited in case of "too many requests" (HTTP codes 429 and 503). Accepts long as milliseconds. This value is used if remote server does not use Retry-After header, in which case Server value is obeyed.
        Since:
        1.9.16
        See Also:
        Constant Field Values
      • HTTP_RETRY_HANDLER_INTERVAL_MAX

        public static final java.lang.String HTTP_RETRY_HANDLER_INTERVAL_MAX
        The maximum retry interval in millis of request to a remote server above which the request should be aborted instead. In theory, a malicious server could tell Maven "come back after 100 years" that would stall the build for some. Using this parameter Maven will fail the request instead, if interval is above this value.
        Since:
        1.9.16
        See Also:
        Constant Field Values
      • HTTP_RETRY_HANDLER_SERVICE_UNAVAILABLE

        public static final java.lang.String HTTP_RETRY_HANDLER_SERVICE_UNAVAILABLE
        The HTTP codes of remote server responses that should be handled as "too many requests" (examples: HTTP codes 429 and 503). Accepts comma separated list of HTTP response codes.
        Since:
        1.9.16
        See Also:
        Constant Field Values
      • HTTP_PREEMPTIVE_AUTH

        public static final java.lang.String HTTP_PREEMPTIVE_AUTH
        Should HTTP client use preemptive-authentication for all HTTP verbs (works only w/ BASIC). By default, is disabled, as it is considered less secure.
        Since:
        1.9.6
        See Also:
        Constant Field Values
      • HTTP_CONNECTION_MAX_TTL

        public static final java.lang.String HTTP_CONNECTION_MAX_TTL
        Total time to live in seconds for an HTTP connection, after that time, the connection will be dropped (no matter for how long it was idle).
        Since:
        1.9.8
        See Also:
        Constant Field Values
      • HTTP_LOCAL_ADDRESS

        public static final java.lang.String HTTP_LOCAL_ADDRESS
        The local address (interface) to use with HTTP transport. Not all transport supports this option.
        Since:
        2.0.0
        See Also:
        Constant Field Values
      • HTTP_SUPPORT_WEBDAV

        public static final java.lang.String HTTP_SUPPORT_WEBDAV
        Boolean flag should the HTTP transport support WebDAV remote. Not all transport support this option.
        Since:
        2.0.0 (moved out from maven-resolver-transport-http).
        See Also:
        Constant Field Values
      • HTTP_PREEMPTIVE_PUT_AUTH

        public static final java.lang.String HTTP_PREEMPTIVE_PUT_AUTH
        Boolean flag should the HTTP transport use preemptive-auth for PUT requests. Not all transport support this option.
        Since:
        2.0.0 (moved out from maven-resolver-transport-http).
        See Also:
        Constant Field Values
      • HTTP_EXPECT_CONTINUE

        public static final java.lang.String HTTP_EXPECT_CONTINUE
        Boolean flag should the HTTP transport use expect-continue handshake for PUT requests. Not all transport support this option. This option may be needed for some broken HTTP servers. Default value corresponds to given transport default one (resolver does not override those), but if configuration IS given, it will replace given transport own default value.
        Since:
        1.9.17
        See Also:
        Constant Field Values
      • HTTP_VERSION

        public static final java.lang.String HTTP_VERSION
        The maximum and preferred HTTP version. Some transporters transparently fall back to lower versions if remote server does not support the requested version, while other may just simply fail the request. Value must be a ConfigurationProperties.HttpVersion enum value or its String representation.
        Since:
        2.0.21
        See Also:
        Constant Field Values
      • REPOSITORY_SYSTEM_REPOSITORY_KEY_FUNCTION

        public static final java.lang.String REPOSITORY_SYSTEM_REPOSITORY_KEY_FUNCTION
        Experimental: Configuration for system-wide "repository key" function. Accepted and recommended values: "nid" (default), "nid_hurl" and "ngurk", while "simple" is Maven 3 legacy, technically equivalent to "nid". For complete description see enum org.eclipse.aether.util.repository.RepositoryIdHelper.RepositoryKeyType in utils. Warning: repository key function affects Resolver fundamentally and may have unexpected results! Only change this if you know what you are doing!
        Since:
        2.0.14
        See Also:
        Constant Field Values
      • REPOSITORY_TRACKING_REPOSITORY_KEY_FUNCTION

        public static final java.lang.String REPOSITORY_TRACKING_REPOSITORY_KEY_FUNCTION
        Repository key function used for the provenance tracking entries that this local repository manager writes and reads. With an ID-only key, a repository declared in an untrusted (for example, transitively resolved) POM under the same ID as a trusted repository would be tracked as the same origin, potentially poisoning a shared local repository. The default is therefore the URL-qualified "nid_hurl" function.

        This function is scoped to tracking entries, path composition, and split local repository prefixes. Repository identity used for aggregation and mirror merging continues to follow the system-wide key function (REPOSITORY_SYSTEM_REPOSITORY_KEY_FUNCTION), whose default is unchanged. If the system-wide function is explicitly configured, tracking follows it (setting it to "nid" restores the legacy ID-only behaviour); this property, when set, overrides both.

        Tracking entries written under a different function than the active one never match a lookup and never enable the untracked-file fallback: affected artifacts are treated as locally unavailable and re-fetched (with checksum validation) once.

        Since:
        2.0.23
        See Also:
        Constant Field Values
      • VERSION_SCHEME_CACHE_DEBUG

        public static final java.lang.String VERSION_SCHEME_CACHE_DEBUG
        A flag indicating whether version scheme cache statistics should be printed on JVM shutdown. This is useful for analyzing cache performance and effectiveness in development and testing scenarios.
        Since:
        2.0.10
        See Also:
        Constant Field Values
      • HTTP_SEND_RFC9457_ACCEPT

        public static final java.lang.String HTTP_SEND_RFC9457_ACCEPT
        Boolean flag should the HTTP transport send HTTP
        Accept
        header to signal that it supports RFC 9457 error messages. Some servers have issues with handling the HTTP Accept headers. Known servers not supporting it is for example Staging REST endpoint of Sonatype Nexus 2. This configuration is only about sending (or not sending) HTTP header with content of
        Accept: application/problem+json
        that may be required by some servers to trigger error reporting using RFC 9457.
        Since:
        2.0.19
        See Also:
        Constant Field Values