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
- Set quarkus.spring-cloud-config.url=http://<config-server>:8888 in application.properties or via QUARKUS_SPRING_CLOUD_CONFIG_URL env var
- If you do not need the Config Server, disable it with quarkus.spring-cloud-config.enabled=false
- 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
- Set the URL whenever discovery-enabled or the config client is enabled
- Prefer env var QUARKUS_SPRING_CLOUD_CONFIG_URL in containers
- Check profile overrides don't blank the property
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
- Value: '${config.url()}' of property 'quarkus.spring-cloud-c
- Eureka configuration is required
- Failed to load application configuration
- Failed to initialize application configuration
- Unrecognized option for quarkus.bootstrap.misaligned-platfor
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/bf359c7ae31dd4ef.
Report an issue: GitHub.