quarkusio/quarkus · error · MojoExecutionException

Failed to resolve the available updates

Error message

Failed to resolve the available updates

What it means

InfoMojo (`mvn quarkus:info`) executes a command that computes the application model and queries the registry for available Quarkus platform updates. If the command throws QuarkusCommandException, the mojo rethrows it as this MojoExecutionException.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/InfoMojo.java:35

    @Override
    protected void validateParameters() throws MojoExecutionException {
        getLog().warn("quarkus:info goal is experimental, its options and output may change in future versions");
        super.validateParameters();
    }

    @Override
    protected void processProjectState(QuarkusProject quarkusProject) throws MojoExecutionException {
        final ProjectInfo invoker = new ProjectInfo(quarkusProject);

        invoker.perModule(perModule);
        invoker.appModel(resolveApplicationModel());

        QuarkusCommandOutcome outcome;
        try {
            outcome = invoker.execute();
        } catch (QuarkusCommandException e) {
            throw new MojoExecutionException("Failed to resolve the available updates", e);
        }
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Check network access to the configured Quarkus registry (default https://registry.quarkus.io)
  2. Verify proxy settings in settings.xml or MAVEN_OPTS
  3. Inspect the QuarkusCommandException cause for the underlying failure
  4. Use a locally mirrored registry via quarkus.registry config if behind a firewall
  5. Retry with -e to get full stack trace and diagnose

Example fix

// before
<quarkus.registry>https://internal-wrong-host/registry</quarkus.registry>
// after
<quarkus.registry>https://registry.quarkus.io</quarkus.registry>
Defensive patterns

Strategy: try-catch

Validate before calling

// pre-check registry reachability
try (java.net.Socket socket = new java.net.Socket()) {
    socket.connect(new java.net.InetSocketAddress("registry.quarkus.io", 443), 3000);
} // if this fails, quarkus:info will fail in offline env

Try / catch

try {
    // mvn quarkus:info
} catch (MojoExecutionException e) {
    if (isNetworkCause(e)) { log.warn("Registry unreachable; skipping update check"); }
    else { throw e; }
}

Prevention

When it happens

Trigger: Running `mvn quarkus:info` when the platform update check fails: registry unreachable, application model cannot be resolved, or network timeout contacting registry.quarkus.io (or a custom registry).

Common situations: Offline/air-gapped environments; corporate proxy blocking the Quarkus registry; misconfigured quarkus.registry URL; DNS failures in CI.

Related errors


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