{"record":{"id":"11f86b5130148355","repo":"quarkusio/quarkus","slug":"failed-to-resolve-the-quarkus-extension-catalog","errorCode":null,"errorMessage":"Failed to resolve the Quarkus extension catalog","messagePattern":"Failed to resolve the Quarkus extension catalog","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java","lineNumber":138,"sourceCode":"        doExecute(quarkusProject, getMessageWriter());\n    }\n\n    protected MessageWriter getMessageWriter() {\n        return log == null ? log = new MojoMessageWriter(getLog()) : log;\n    }\n\n    protected Path baseDir() {\n        return project == null || project.getBasedir() == null ? Paths.get(\"\").normalize().toAbsolutePath()\n                : project.getBasedir().toPath();\n    }\n\n    private ExtensionCatalog resolveExtensionCatalog() throws MojoExecutionException {\n        final ExtensionCatalogResolver catalogResolver = getExtensionCatalogResolver();\n        if (catalogResolver.hasRegistries()) {\n            try {\n                return catalogResolver.resolveExtensionCatalog(getImportedPlatforms());\n            } catch (Exception e) {\n                throw new MojoExecutionException(\"Failed to resolve the Quarkus extension catalog\", e);\n            }\n        }\n        return ToolsUtils.mergePlatforms(collectImportedPlatforms(), catalogArtifactResolver());\n    }\n\n    protected ExtensionCatalogResolver getExtensionCatalogResolver() throws MojoExecutionException {\n        return catalogResolver == null ? catalogResolver = initExtensionCatalogResolver() : catalogResolver;\n    }\n\n    private ExtensionCatalogResolver initExtensionCatalogResolver() throws MojoExecutionException {\n        if (!QuarkusProjectHelper.isRegistryClientEnabled()) {\n            return ExtensionCatalogResolver.empty();\n        }\n        final ExtensionCatalogResolver catalogResolver;\n        try {\n            catalogResolver = QuarkusProjectHelper.getCatalogResolver(catalogArtifactResolver(), getMessageWriter());\n            if (refresh) {\n                catalogResolver.clearRegistryCache();","sourceCodeStart":120,"sourceCodeEnd":156,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java#L120-L156","documentation":"resolveExtensionCatalog resolves the Quarkus extension catalog either from configured registries or by merging the platforms imported by the project. Any exception while resolving the catalog from registries is wrapped in this MojoExecutionException, meaning the list of available extensions/platforms could not be determined.","triggerScenarios":"Running a Quarkus MoJo when catalogResolver.resolveExtensionCatalog(getImportedPlatforms()) throws — e.g. the registry/platform descriptor cannot be downloaded or parsed for the imported platform coordinates.","commonSituations":"Platform BOM coordinates changed after a Quarkus upgrade; a custom registry returns malformed metadata; offline build attempting to reach the registry; the io.quarkus.platform version referenced in the pom no longer exists in the registry.","solutions":["Verify the Quarkus platform version in the pom matches a version published in the registry","Check network/proxy access to registry.quarkus.io and inspect the wrapped cause for details","Fix or remove a broken custom registry configuration and retry with a registry cache refresh"],"exampleFix":"// before (nonexistent platform version)\n<quarkus.platform.version>999.0.0</quarkus.platform.version>\n// after\n<quarkus.platform.version>3.15.1</quarkus.platform.version>","handlingStrategy":"try-catch","validationCode":"// verify platform version exists in the registry before building\n// mvn dependency:get -Dartifact=io.quarkus.platform:quarkus-bom:${quarkus.platform.version}:pom","typeGuard":null,"tryCatchPattern":"try {\n    mojo.execute();\n} catch (MojoExecutionException e) {\n    if (e.getMessage().equals(\"Failed to resolve the Quarkus extension catalog\")) {\n        Throwable cause = e.getCause();\n        // inspect cause: fix registry URL / platform version / connectivity, then retry\n    } else {\n        throw e;\n    }\n}","preventionTips":["Pin the Quarkus platform version to a published release in the registry","Validate any custom registry endpoints return well-formed metadata","Pre-fetch the platform BOM in CI to fail fast on connectivity issues"],"tags":["maven","registry","extension-catalog","quarkus"],"backgroundTag":"registry-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}