quarkusio/quarkus · error · IllegalArgumentException

The 'quarkus.spring-cloud-config.url' property cannot be emp

Error message

The 'quarkus.spring-cloud-config.url' property cannot be empty

What it means

Before building the URI, DirectConfigServerBaseUrlProvider.validate() rejects a null or empty quarkus.spring-cloud-config.url value. The property is enabled for the Config Client but no server URL was actually supplied, so there is no endpoint to query. Fail-fast at startup prevents later opaque connection errors.

Source

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

    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. Set quarkus.spring-cloud-config.url=http://<config-server>:8888 in application.properties or via QUARKUS_SPRING_CLOUD_CONFIG_URL env var
  2. If you do not need the Config Server, disable it with quarkus.spring-cloud-config.enabled=false
  3. Check active profiles/env to confirm the property isn't blanked out

Example fix

// before
quarkus.spring-cloud-config.enabled=true
# url missing

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

Strategy: validation

Validate before calling

if (config == null || config.url() == null || config.url().isEmpty()) {
    throw new IllegalStateException("quarkus.spring-cloud-config.url must be set");
}

Prevention

When it happens

Trigger: Setting quarkus.spring-cloud-config.enabled=true (or relying on config-source activation) without defining quarkus.spring-cloud-config.url; the property being overridden to empty by an environment variable or profile; a typo like quarkus.spring-cloud-config.uri.

Common situations: Kubernetes deployments where the URL is injected via env var (SPRING_CLOUD_CONFIG_URL style) that is missing; enabling the extension in one profile while the url is only set in another.

Related errors


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