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
- Correct the value of quarkus.spring-cloud-config.url to a valid absolute URI, e.g. http://config-server:8888
- URL-encode any special characters or remove spaces/braces
- 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
- Always include scheme http:// or https://
- Avoid spaces and unencoded special characters in the URL
- Validate effective config in CI before deployment
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
- The 'quarkus.spring-cloud-config.url' property cannot be emp
- 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/da7fddb220d000aa.
Report an issue: GitHub.