quarkusio/quarkus · error · MojoExecutionException

Failed to resolve Quarkus extension catalog

Error message

Failed to resolve Quarkus extension catalog

What it means

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.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/CreateJBangMojo.java:112

        try {
            mvn = MavenArtifactResolver.builder()
                    .setRepositorySystem(repoSystem)
                    .setRepositorySystemSession(
                            getLog().isDebugEnabled() ? repoSession : MojoUtils.muteTransferListener(repoSession))
                    .setRemoteRepositories(repos)
                    .setRemoteRepositoryManager(remoteRepoManager)
                    .build();
        } catch (Exception e) {
            throw new MojoExecutionException("Failed to initialize Maven artifact resolver", e);
        }

        final MessageWriter log = new MojoMessageWriter(getLog());
        ExtensionCatalog catalog;
        try {
            catalog = CreateProjectMojo.resolveExtensionsCatalog(this, bomGroupId, bomArtifactId, bomVersion, null,
                    QuarkusProjectHelper.getCatalogResolver(mvn, log), mvn, log);
        } catch (RegistryResolutionException e) {
            throw new MojoExecutionException("Failed to resolve Quarkus extension catalog", e);
        }

        final List<ResourceLoader> codestartsResourceLoader = codestartLoadersBuilder(log)
                .catalog(catalog)
                .artifactResolver(mvn)
                .build();
        final CreateJBangProject createJBangProject = new CreateJBangProject(QuarkusProject.of(projectDirPath, catalog,
                codestartsResourceLoader, log, BuildTool.MAVEN, new JavaVersion(javaVersion)))
                .extensions(extensions)
                .javaVersion(javaVersion)
                .setValue(NO_JBANG_WRAPPER, noJBangWrapper);

        boolean success;

        try {
            success = createJBangProject.execute().isSuccess();
        } catch (QuarkusCommandException e) {
            throw new MojoExecutionException("Failed to generate JBang Quarkus project", e);

View on GitHub (pinned to e1c734241f)

Solutions

  1. Check network connectivity to the Quarkus registry and Maven Central (curl the registry URL)
  2. Verify quarkus.platform.group-id/artifact-id/version resolve in your repositories
  3. Fix custom registry configuration (quarkus.registries in settings or project properties)
  4. Inspect the RegistryResolutionException cause with -X; if behind a proxy, configure it in settings.xml

Example fix

// before
mvn quarkus:create-jbang  // offline laptop
// after
# connect to network / configure proxy, then
mvn quarkus:create-jbang
Defensive patterns

Strategy: retry

Validate before calling

// check registry availability before generating
java.net.http.HttpClient c = java.net.http.HttpClient.newHttpClient();
var 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());
if (resp.statusCode() >= 400) throw new IllegalStateException("Quarkus registry unreachable");

Try / catch

try {
    mvn quarkus:create-jbang ...
} catch (MojoExecutionException e) {
    if (e.getMessage().contains("Failed to resolve Quarkus extension catalog")
            && e.getCause() instanceof org.apache.maven.plugin.MojoExecutionException) {
        logger.error("Registry resolution failed — verify network/proxy, then retry with -X");
        // retry once after connectivity is restored
    }
}

Prevention

When it happens

Trigger: CreateProjectMojo.resolveExtensionsCatalog(...) throws RegistryResolutionException in CreateJBangMojo.execute() — registry endpoints unreachable, registry coordinates wrong, or catalog artifact not downloadable.

Common situations: 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.

Related errors


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