quarkusio/quarkus · error · BootstrapException
Failed to create the application model for
Error message
Failed to create the application model for
What it means
This BootstrapException wraps any Exception raised while building the application model (dependency curation/resolution) for the given appArtifact. It is a catch-all around resolveAppModelForWorkspace, so the root cause (a nested exception) carries the real failure such as unresolvable dependencies or repository connectivity problems.
Source
Thrown at independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/BootstrapAppModelFactory.java:278
log.warn("Failed to read deployment classpath cache from " + cachedCpPath + " for "
+ appArtifact, e);
}
}
}
CurationResult curationResult = new CurationResult(getAppModelResolver()
.resolveManagedModel(appArtifact, forcedDependencies, excludedDependencies, managingProject,
reloadableModules));
if (cachedCpPath != null) {
Files.createDirectories(cachedCpPath.getParent());
try {
ApplicationModelSerializer.serialize(curationResult.getApplicationModel(), cachedCpPath);
} catch (IOException e) {
log.warn("Failed to write classpath cache", e);
}
}
return curationResult;
} catch (Exception e) {
throw new BootstrapException("Failed to create the application model for " + appArtifact, e);
}
}
/**
* Attempts to load an application model from a file system path set as a value of a system property.
* In test mode the system property will be {@link BootstrapConstants#SERIALIZED_TEST_APP_MODEL}, otherwise
* it will be {@link BootstrapConstants#SERIALIZED_APP_MODEL}.
* <p>
* If the property was not set, the method will return null.
* <p>
* If the model could not deserialized, an error will be logged and null returned.
*
* @return deserialized application model or null
*/
private CurationResult loadFromSystemProperty() {
// gradle tests and dev encode the result on the class path
final String serializedModel = test ? System.getProperty(BootstrapConstants.SERIALIZED_TEST_APP_MODEL)
: System.getProperty(BootstrapConstants.SERIALIZED_APP_MODEL);View on GitHub (pinned to e1c734241f)
Solutions
- Inspect the nested cause exception — it names the unresolvable artifact or IO problem
- Run ./mvnw dependency:resolve (or mvn -U) to force refresh failing dependencies
- Check repository connectivity/proxy settings in settings.xml
- Delete the corrupted artifact directory under the local Maven repository and rebuild
Example fix
// before mvn quarkus:dev // fails with this wrapper // after mvn -U quarkus:dev // force update of snapshots/releases after fixing the bad dependency version
Defensive patterns
Strategy: try-catch
Validate before calling
// pre-check artifact resolvability
Process p = new ProcessBuilder("mvn", "-q", "dependency:resolve").inheritIO().start();
if (p.waitFor() != 0) { /* fix dependencies before bootstrap */ } Try / catch
try {
factory.resolveAppModel();
} catch (BootstrapException e) {
e.getCause().printStackTrace(); // real reason (unresolvable dep, repo issue)
} Prevention
- Keep ~/.m2/repository clean; delete .lastUpdated / corrupt dirs
- Verify repository connectivity and proxy settings before builds
- Pin dependency and BOM versions that actually exist
- Run with mvn -U to refresh stale metadata
When it happens
Trigger: Any exception during application model creation: dependency resolution failures against Maven repositories, unresolvable parent POMs, corrupt local repository entries, or IOExceptions while writing the classpath cache followed by resolution errors.
Common situations: Missing or unreachable remote Maven repositories (corporate proxy, VPN down), a dependency version that does not exist, corrupted ~/.m2/repository downloads (.lastUpdated files), or an invalid parent/BOM version in the pom.
Related errors
- Failed to initialize Maven artifact resolver
- Failed to inject extension deployment dependencies for ${app
- Failed to resolve dependencies for ${artifact}
- Could not resolve POM for
- Failed to resolve application model <appArtifact> dependenci
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/15289e4f091142bf.
Report an issue: GitHub.