{"record":{"id":"8597b218707d852a","repo":"quarkusio/quarkus","slug":"failed-to-resolve-quarkus-extension-catalog","errorCode":null,"errorMessage":"Failed to resolve Quarkus extension catalog","messagePattern":"Failed to resolve Quarkus extension catalog","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/CreateJBangMojo.java","lineNumber":112,"sourceCode":"        try {\n            mvn = MavenArtifactResolver.builder()\n                    .setRepositorySystem(repoSystem)\n                    .setRepositorySystemSession(\n                            getLog().isDebugEnabled() ? repoSession : MojoUtils.muteTransferListener(repoSession))\n                    .setRemoteRepositories(repos)\n                    .setRemoteRepositoryManager(remoteRepoManager)\n                    .build();\n        } catch (Exception e) {\n            throw new MojoExecutionException(\"Failed to initialize Maven artifact resolver\", e);\n        }\n\n        final MessageWriter log = new MojoMessageWriter(getLog());\n        ExtensionCatalog catalog;\n        try {\n            catalog = CreateProjectMojo.resolveExtensionsCatalog(this, bomGroupId, bomArtifactId, bomVersion, null,\n                    QuarkusProjectHelper.getCatalogResolver(mvn, log), mvn, log);\n        } catch (RegistryResolutionException e) {\n            throw new MojoExecutionException(\"Failed to resolve Quarkus extension catalog\", e);\n        }\n\n        final List<ResourceLoader> codestartsResourceLoader = codestartLoadersBuilder(log)\n                .catalog(catalog)\n                .artifactResolver(mvn)\n                .build();\n        final CreateJBangProject createJBangProject = new CreateJBangProject(QuarkusProject.of(projectDirPath, catalog,\n                codestartsResourceLoader, log, BuildTool.MAVEN, new JavaVersion(javaVersion)))\n                .extensions(extensions)\n                .javaVersion(javaVersion)\n                .setValue(NO_JBANG_WRAPPER, noJBangWrapper);\n\n        boolean success;\n\n        try {\n            success = createJBangProject.execute().isSuccess();\n        } catch (QuarkusCommandException e) {\n            throw new MojoExecutionException(\"Failed to generate JBang Quarkus project\", e);","sourceCodeStart":94,"sourceCodeEnd":130,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/CreateJBangMojo.java#L94-L130","documentation":"Thrown when resolveExtensionsCatalog (delegating to CreateProjectMojo) throws a RegistryResolutionException — the Quarkus extension registry/catalog could not be resolved from the configured registries. The JBang generator needs this catalog to pick codestarts and extensions.","triggerScenarios":"CreateProjectMojo.resolveExtensionsCatalog(...) throws RegistryResolutionException in CreateJBangMojo.execute() — registry endpoints unreachable, registry coordinates wrong, or catalog artifact not downloadable.","commonSituations":"Offline builds or blocked network to registry.quarkus.io / Maven Central, custom quarkus.registries misconfigured, wrong quarkus.platform version pointing to a non-existent BOM, corporate proxy intercepting HTTPS.","solutions":["Check network connectivity to the Quarkus registry and Maven Central (curl the registry URL)","Verify quarkus.platform.group-id/artifact-id/version resolve in your repositories","Fix custom registry configuration (quarkus.registries in settings or project properties)","Inspect the RegistryResolutionException cause with -X; if behind a proxy, configure it in settings.xml"],"exampleFix":"// before\nmvn quarkus:create-jbang  // offline laptop\n// after\n# connect to network / configure proxy, then\nmvn quarkus:create-jbang","handlingStrategy":"retry","validationCode":"// check registry availability before generating\njava.net.http.HttpClient c = java.net.http.HttpClient.newHttpClient();\nvar resp = c.send(java.net.http.HttpRequest.newBuilder(java.net.URI.create(\"https://registry.quarkus.io/maven/io/quarkus/platform/quarkus-bom/maven-metadata.xml\")).build(), java.net.http.HttpResponse.BodyHandlers.discarding());\nif (resp.statusCode() >= 400) throw new IllegalStateException(\"Quarkus registry unreachable\");","typeGuard":null,"tryCatchPattern":"try {\n    mvn quarkus:create-jbang ...\n} catch (MojoExecutionException e) {\n    if (e.getMessage().contains(\"Failed to resolve Quarkus extension catalog\")\n            && e.getCause() instanceof org.apache.maven.plugin.MojoExecutionException) {\n        logger.error(\"Registry resolution failed — verify network/proxy, then retry with -X\");\n        // retry once after connectivity is restored\n    }\n}","preventionTips":["Confirm connectivity to registry.quarkus.io and Maven Central before offline-prone runs","Pin a valid quarkus.platform.version; avoid typos that yield unresolvable catalogs","If using custom registries, validate their URLs with curl first"],"tags":["maven","registry","network","extension-catalog"],"backgroundTag":"quarkus-registry-unreachable","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}