quarkusio/quarkus · error · IllegalArgumentException

Value: '${config.url()}' of property 'quarkus.spring-cloud-c

Error message

Value: '${config.url()}' of property 'quarkus.spring-cloud-config.url' is invalid

What it means

DirectConfigServerBaseUrlProvider converts the quarkus.spring-cloud-config.url property into a java.net.URI for the Config Server base URL. When UrlUtility.toURI() raises a URISyntaxException the provider wraps it in an IllegalArgumentException naming the offending property value. The configured URL is syntactically invalid (bad characters, spaces, missing scheme, etc.).

Source

Thrown at extensions/spring-cloud-config-client/runtime/src/main/java/io/quarkus/spring/cloud/config/client/runtime/DirectConfigServerBaseUrlProvider.java:22

import java.net.URISyntaxException;

import io.quarkus.spring.cloud.config.client.runtime.util.UrlUtility;

public class DirectConfigServerBaseUrlProvider implements ConfigServerBaseUrlProvider {
    private final SpringCloudConfigClientConfig config;

    public DirectConfigServerBaseUrlProvider(SpringCloudConfigClientConfig config) {
        this.config = config;
    }

    @Override
    public URI get() {
        String url = config.url();
        validate(url);
        try {
            return UrlUtility.toURI(url);
        } catch (URISyntaxException e) {
            throw new IllegalArgumentException("Value: '" + config.url()
                    + "' of property 'quarkus.spring-cloud-config.url' is invalid", e);
        }
    }

    private void validate(String url) {
        if (null == url || url.isEmpty()) {
            throw new IllegalArgumentException(
                    "The 'quarkus.spring-cloud-config.url' property cannot be empty");
        }
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Correct the value of quarkus.spring-cloud-config.url to a valid absolute URI, e.g. http://config-server:8888
  2. URL-encode any special characters or remove spaces/braces
  3. Verify that property substitution resolved correctly (run with -Dquarkus.log.level=DEBUG or print effective config)

Example fix

// before
quarkus.spring-cloud-config.url=http://config server:8888

// after
quarkus.spring-cloud-config.url=http://config-server:8888
Defensive patterns

Strategy: validation

Validate before calling

String url = "http://config-server:8888";
try { new java.net.URI(url); } catch (URISyntaxException e) {
    throw new IllegalArgumentException("Invalid quarkus.spring-cloud-config.url: " + url, e);
}

Try / catch

catch (IllegalArgumentException e) { log.error("Fix quarkus.spring-cloud-config.url", e); }

Prevention

When it happens

Trigger: Setting quarkus.spring-cloud-config.url to a malformed URI, e.g. 'http://config server:8888' (space), 'config-server:8888' (no scheme, parsed as unknown scheme), or containing unencoded special characters like '{' or '|'.

Common situations: Copy-pasting a URL with trailing whitespace or quotes from documentation; using environment-variable interpolation that leaves literal '${...}' text in the value; typos in the host/port.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/da7fddb220d000aa. Report an issue: GitHub.