quarkusio/quarkus · error · MojoExecutionException

Failed to resolve application model <appArtifact> dependenci

Error message

Failed to resolve application model <appArtifact> dependencies

What it means

DependencyListMojo.resolveApplicationModel resolves the application model (dependencies graph) for the project artifact via BootstrapAppModelResolver. Any exception during resolution is wrapped in a MojoExecutionException 'Failed to resolve application model <appArtifact> dependencies' with the original cause attached.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/DependencyListMojo.java:243

                project.getVersion());
        final BootstrapAppModelResolver modelResolver;
        try {
            modelResolver = new BootstrapAppModelResolver(resolver())
                    .setRuntimeModelOnly(((flags & DependencyFlags.RUNTIME_CP) > 0));
            if (mode.equalsIgnoreCase("test")) {
                modelResolver.setTest(true);
            } else if (mode.equalsIgnoreCase("dev") || mode.equalsIgnoreCase("development")) {
                modelResolver.setDevMode(true);
            } else if (mode.equalsIgnoreCase("prod") || mode.isEmpty()) {
                // ignore, that's the default
            } else {
                throw new MojoExecutionException(
                        "Parameter 'mode' was set to '" + mode + "' while expected one of 'dev', 'test' or 'prod'");
            }
            modelResolver.setLegacyModelResolver(BootstrapAppModelResolver.isLegacyModelResolver(project.getProperties()));
            return modelResolver.resolveModel(appArtifact);
        } catch (Exception e) {
            throw new MojoExecutionException("Failed to resolve application model " + appArtifact + " dependencies", e);
        }
    }

    protected MavenArtifactResolver resolver() {
        return resolver == null
                ? resolver = workspaceProvider.createArtifactResolver(BootstrapMavenContext.config()
                        .setUserSettings(session.getRequest().getUserSettingsFile())
                        .setRemoteRepositories(repos)
                        .setPreferPomsFromWorkspace(true))
                : resolver;
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Run with -e to see the underlying cause of the resolution failure
  2. Verify all dependencies resolve with mvn dependency:go-offline or mvn validate
  3. Clear corrupted artifacts from ~/.m2/repository and retry
  4. Check repository connectivity/credentials (settings.xml) especially in offline CI
Defensive patterns

Strategy: retry

Validate before calling

// Ensure the project's dependencies resolve before running the mojo
mvn -q validate dependency:go-offline   # run first; a non-zero exit means resolution problems

Try / catch

try {
    mvn quarkus:dependency-list;
} catch (MojoExecutionException e) {
    if (e.getMessage().startsWith("Failed to resolve application model")) {
        // inspect e.getCause() for the resolver failure (missing artifact, repo unreachable)
        // after fixing repo/settings/dependency issues, retry the goal
    }
}

Prevention

When it happens

Trigger: Running quarkus:dependency-list where modelResolver.resolveModel(appArtifact) throws — unresolvable Maven dependencies, missing artifacts in repositories, broken workspace/reactor state, or any other Exception escaping the resolution.

Common situations: Dependencies missing from remote repos or an unreachable repository (offline CI); corrupted local ~/.m2 repository; version conflicts with no resolvable solution; misconfigured workspace discovery in multi-module builds; invalid pom dependency declarations.

Related errors


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