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.

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.

Appendix: 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)