quarkusio/quarkus · error · RegistryResolutionException
Extension catalog ${bomCoords} could not be resolved from ${
Error message
Extension catalog ${bomCoords} could not be resolved from ${registryIds} What it means
ExtensionCatalogResolver failed to assemble a full extension catalog: none of the configured registries could resolve the preferred platform BOM coordinates for the requested (null/unspecified) Quarkus version, and no other catalog could be obtained. The resolver aggregates catalogs from Quarkus registries; when every registry comes back empty and quarkusVersion is null, it reports the BOM coords plus all consulted registry IDs. This is a resolution failure, not a parsing failure.
Source
Thrown at independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java:781
addOriginPreference(catalog, originPreference);
catalogBuilder.addCatalog(catalog);
}
if (quarkusVersion == null) {
if (catalogBuilder.catalogs.isEmpty()) {
final StringBuilder buf = new StringBuilder();
final Iterator<ArtifactCoords> boms = preferredPlatforms.iterator();
buf.append(PlatformArtifacts.ensureBomArtifact(boms.next()).toCompactCoords());
while (boms.hasNext()) {
buf.append(", ").append(PlatformArtifacts.ensureBomArtifact(boms.next()).toCompactCoords());
}
buf.append(" could not be resolved from ");
RegistryExtensionResolver registry = registries.get(0);
buf.append(registry.getId());
for (int i = 1; i < registries.size(); ++i) {
buf.append(", ").append(registries.get(i).getId());
}
throw new RegistryResolutionException(buf.toString());
}
}
catalogBuilder.addUpstreamExtensionCatalogs(quarkusVersion, preferredPlatformKeys);
}
public void clearRegistryCache() throws RegistryResolutionException {
for (RegistryExtensionResolver registry : registries) {
registry.clearCache();
}
}
private void ensureRegistriesConfigured() throws RegistryResolutionException {
final int registriesTotal = registries.size();
if (registriesTotal == 0) {
throw new RegistryResolutionException("No registries configured");
}
}
View on GitHub (pinned to e1c734241f)
Solutions
- Check network connectivity to the registry endpoints listed in the message (e.g. curl the registry URL).
- Verify registry configuration in .quarkus/config.yaml (or RegistryConfig) points to valid registryquarkus URLs.
- Run with -Dquarkus-registry=debug or enable logging to see per-registry resolution failures (HTTP 404/timeout).
- Add a registry that hosts the requested BOM, or pin quarkusVersion to one that is available.
- Run mvn -U / clearRegistryCache() to purge stale cached registry data and retry.
Example fix
// before
resolver.resolveExtensionCatalog(null, boms);
// after
resolver.resolveExtensionCatalog("3.2.5.Final", boms); // pin a version actually hosted by the configured registries Defensive patterns
Strategy: retry
Validate before calling
// Java
if (resolver.getRegistries().isEmpty()) {
throw new IllegalStateException("Configure at least one registry before resolving");
}
// verify network to each registry endpoint
for (var r : resolver.getRegistries()) {
System.out.println("registry: " + r.getId());
} Try / catch
// Java
try {
catalog = resolver.resolveExtensionCatalog(quarkusVersion, preferredPlatforms);
} catch (RegistryResolutionException e) {
resolver.clearRegistryCache();
catalog = resolver.resolveExtensionCatalog(quarkusVersion, preferredPlatforms); // retry once
} Prevention
- Pin an explicit quarkusVersion that is known to be hosted by your registries.
- Validate registry connectivity (curl the registry URL) before resolution in CI.
- Keep .quarkus/config.yaml registry list minimal and correct.
- Run clearRegistryCache() when switching networks (VPN/offline).
When it happens
Trigger: Calling resolveExtensionCatalog() (or similar) with quarkusVersion==null while every configured RegistryExtensionResolver returns null/empty for the preferred platform BOMs (e.g. io.quarkus.platform:quarkus-bom) — typically unreachable registries, wrong registry URLs, or a BOM version not published on any configured registry.
Common situations: Corporate proxy/firewall blocking registry.quarkus.io; typos or stale entries in .quarkus/config.yaml registry list; querying a Quarkus version that a private/internal registry does not host; offline builds with no local Maven cache of the BOM.
Related errors
- Failed to resolve the extension catalog for stream '${stream
- Failed to resolve the recommended Quarkus extension catalog
- Failed to resolve Quarkus extension catalog
- Failed to resolve the available updates
- Failed to list extension categories
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/d6678b3eccd63e7d.
Report an issue: GitHub.