quarkusio/quarkus · error · MojoExecutionException

Failed to resolve the catalog of Quarkus platforms

Error message

Failed to resolve the catalog of Quarkus platforms

What it means

This MojoExecutionException wraps a RegistryResolutionException thrown while resolving the Quarkus platform catalog via the extension registries in QuarkusProjectMojoBase.getImportedPlatforms. It means the registry client was reachable/configured but the request to fetch the platform catalog failed (network error, invalid registry URL, or catalog artifact not found). The original RegistryResolutionException is attached as the cause.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java:180

    }

    protected List<ArtifactCoords> getImportedPlatforms() throws MojoExecutionException {
        if (importedPlatforms == null) {
            if (project.getFile() == null) {
                if (bomGroupId == null && bomArtifactId == null && bomVersion == null) {
                    return List.of();
                }
                final ExtensionCatalogResolver catalogResolver = getExtensionCatalogResolver();
                if (!catalogResolver.hasRegistries()) {
                    throw new MojoExecutionException(
                            "Couldn't resolve the Quarkus platform catalog since none of the Quarkus extension registries are available");
                }
                ArtifactCoords platformBom;
                try {
                    platformBom = getSingleMatchingBom(bomGroupId, bomArtifactId, bomVersion,
                            getExtensionCatalogResolver().resolvePlatformCatalog());
                } catch (RegistryResolutionException e) {
                    throw new MojoExecutionException("Failed to resolve the catalog of Quarkus platforms", e);
                }
                if (platformBom == null && bomVersion != null) {
                    platformBom = ArtifactCoords.pom(
                            bomGroupId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_GROUP_ID : bomGroupId,
                            bomArtifactId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_ARTIFACT_ID : bomArtifactId,
                            bomVersion);
                }
                return importedPlatforms = platformBom == null ? List.of() : List.of(platformBom);
            }
            importedPlatforms = collectImportedPlatforms();
        }
        return importedPlatforms;
    }

    protected MavenArtifactResolver catalogArtifactResolver() throws MojoExecutionException {
        return artifactResolver();
    }

View on GitHub (pinned to e1c734241f)

Solutions

  1. Inspect the cause (RegistryResolutionException) for the failing registry URL and fix the registry configuration or URL
  2. Verify network/proxy connectivity to the configured registry endpoint (curl the URL)
  3. Run the build offline with explicit platform coordinates instead of registry lookup: set platformGroupId/platformArtifactId/platformVersion in pom.xml plugin configuration
  4. Clear stale cached registry data if the registry recently changed endpoints

Example fix

// before (settings causing registry dependency)
mvn quarkus:list-platforms
// after (no registry needed)
mvn quarkus:list-platforms -DplatformGroupId=io.quarkus.platform -DplatformArtifactId=quarkus-bom -DplatformVersion=3.8.1
Defensive patterns

Strategy: try-catch

Validate before calling

// pre-check connectivity to the registry endpoint before invoking the goal:
// curl -fsS https://registry.quarkus.io (or your configured registry URL)

Try / catch

try {
    // run goal / resolvePlatformCatalog()
} catch (MojoExecutionException e) {
    if (e.getCause() instanceof RegistryResolutionException) {
        // inspect registry URL, fall back to explicit platform coordinates
    }
}

Prevention

When it happens

Trigger: Calling getImportedPlatforms (via resolveExtensionCatalog) when the project has no pom.xml, no explicit BOM coordinates are set, and ExtensionCatalogResolver.resolvePlatformCatalog() throws RegistryResolutionException — e.g. registry endpoint unreachable or returns 404.

Common situations: Corporate proxy or firewall blocking registry.quarkus.io; misconfigured registry URL in Quarkus registry config; registry outage; offline builds attempting registry lookups; wrong quarkus.registry.* settings in ~/.m2/settings.xml.

Related errors


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