quarkusio/quarkus · error · RegistryResolutionException
Quarkus extension registry is not available
Error message
Quarkus extension registry is not available
What it means
A RegistryResolutionException thrown by ExtensionCatalogBuilder.build() when no registry produced any extension catalog at all and no registries are configured. It means the resolver had zero configured registries to consult, so no extension catalog can be assembled.
Source
Thrown at independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java:398
}
}
void addUpstreamExtensionCatalogs(String quarkusCoreVersion, Set<String> processedPlatformKeys)
throws RegistryResolutionException {
collectPlatformExtensions(quarkusCoreVersion, this, processedPlatformKeys);
int i = 0;
while (i < upstreamQuarkusVersions.size()) {
collectPlatformExtensions(upstreamQuarkusVersions.get(i++), this, processedPlatformKeys);
}
upstreamQuarkusVersions.clear();
}
ExtensionCatalog build() throws RegistryResolutionException {
appendAllNonPlatformExtensions();
if (catalogs.isEmpty()) {
final List<RegistryExtensionResolver> registries = ExtensionCatalogResolver.this.registries;
if (registries.isEmpty()) {
throw new RegistryResolutionException("Quarkus extension registry is not available");
}
if (registries.size() == 1) {
throw new RegistryResolutionException("Quarkus extension registry " + registries.get(0).getId()
+ " did not provide any extension catalog");
}
final StringBuilder buf = new StringBuilder();
buf.append("Quarkus extension registries ");
buf.append(registries.get(0).getId());
for (int i = 1; i < registries.size(); ++i) {
buf.append(", ").append(registries.get(i).getId());
}
buf.append(" did not provide any extension catalog");
throw new RegistryResolutionException(buf.toString());
}
return CatalogMergeUtility.merge(catalogs);
}
}View on GitHub (pinned to e1c734241f)
Solutions
- Configure at least one Quarkus extension registry (e.g. registry.quarkus.io via the registry client config in ~/.m2/settings.xml or registry-client config file)
- Check that registries are not disabled/excluded via quarkus.registry.* settings
- Use the default registry client configuration by removing custom overrides that leave the registry list empty
Example fix
// before: empty registry config
<quarkus.registries/>
// after
<quarkus.registries>
<quarkus-registry>
<url>https://registry.quarkus.io</url>
</quarkus-registry>
</quarkus.registries> Defensive patterns
Strategy: validation
Validate before calling
if (resolver.getRegistries() == null || resolver.getRegistries().isEmpty()) {
throw new IllegalStateException("Configure at least one Quarkus registry before resolving catalogs");
} Try / catch
try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.error("Registry configuration missing: " + e.getMessage()); throw e; } Prevention
- Always call resolver.load() (or equivalent config load) before resolution
- Ship a default registry client config with at least registry.quarkus.io
- Validate settings.xml registryquarkus sections in CI
- Avoid blanket registry exclusions in shared configs
When it happens
Trigger: resolveExtensionCatalog / resolveExtensionCatalogForStream -> ExtensionCatalogBuilder.build() after appendAllNonPlatformExtensions() leaves catalogs empty and ExtensionCatalogResolver.this.registries is empty.
Common situations: Missing registry-client configuration entirely; settings.xml lacking registryquarkus / quarkus-registry configuration; registries disabled via config; offline environment with no registry setup.
Related errors
- Specifying a stream requires the Quarkus extension registry
- This goal requires a Quarkus extension registry client to be
- Failed to locate ${registryId} among the configured registri
- Quarkus extension registry ${registryId} did not provide any
- Quarkus extension registries ${registryIds} did not provide
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/450f9847acab97dc.
Report an issue: GitHub.