quarkusio/quarkus · error · MojoExecutionException

Failed to list extension categories

Error message

Failed to list extension categories

What it means

ListCategoriesMojo (`mvn quarkus:list-categories`) fetches extension categories from the Quarkus extension registry. Any exception during that process (registry connectivity, model resolution, parsing) is wrapped as this MojoExecutionException.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/ListCategoriesMojo.java:42

    protected String format;

    @Override
    public void doExecute(final QuarkusProject quarkusProject, final MessageWriter log) throws MojoExecutionException {
        try {
            ListCategories listExtensions = new ListCategories(quarkusProject)
                    .format(format);
            listExtensions.execute();

            if (DEFAULT_FORMAT.equalsIgnoreCase(format)) {
                log.info("");
                log.info(ListCategories.MORE_INFO_HINT, "-Dformat=full");
            }
            log.info("");
            log.info(ListCategories.LIST_EXTENSIONS_HINT,
                    "`./mvnw quarkus:list-extensions -Dcategory=\"categoryId\"`");

        } catch (Exception e) {
            throw new MojoExecutionException("Failed to list extension categories", e);
        }
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Verify connectivity to the Quarkus registry and fix proxy/DNS issues
  2. Check quarkus.registry settings in pom.xml or settings
  3. Re-run with -e to see the root cause from the wrapped Exception
  4. Bypass corporate firewall by mirroring the registry locally
  5. Retry after transient registry outage

Example fix

// before
mvn quarkus:list-categories  # timeout behind proxy
// after
mvn -Dquarkus.registry=https://mirror.corp/quarkus quarkus:list-categories
Defensive patterns

Strategy: try-catch

Validate before calling

curl -fsS https://registry.quarkus.io/extensions/all -o /dev/null || echo "registry unreachable"

Try / catch

try {
    // mvn quarkus:list-categories
} catch (MojoExecutionException e) {
    log.error("Category listing failed, cause=" + e.getCause());
    // fall back to bundled platform metadata or retry later
}

Prevention

When it happens

Trigger: Running `mvn quarkus:list-categories` when the extension registry cannot be reached, returns invalid data, or the project's application model cannot be resolved first.

Common situations: No internet access in CI; wrong quarkus.registry configuration; registry outage; malformed project POM preventing model resolution.

Related errors


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