{"record":{"id":"7a8ef54a1f6c1ab5","repo":"quarkusio/quarkus","slug":"failed-to-bootstrap-application-in-mode-mode","errorCode":null,"errorMessage":"Failed to bootstrap application in ${mode} mode","messagePattern":"Failed to bootstrap application in (.+?) mode","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/QuarkusBootstrapProvider.java","lineNumber":334,"sourceCode":"                    localProjectKeys.add(ArtifactKey.ga(p.getGroupId(), p.getArtifactId()));\n                }\n                reloadableModules = new HashSet<>(localProjects.size() + 1);\n                for (Artifact a : mojo.mavenProject().getArtifacts()) {\n                    if (localProjectKeys.contains(ArtifactKey.ga(a.getGroupId(), a.getArtifactId()))) {\n                        reloadableModules\n                                .add(ArtifactKey.of(a.getGroupId(), a.getArtifactId(), a.getClassifier(), a.getType()));\n                    }\n                }\n                reloadableModules.add(appArtifact.getKey());\n            }\n\n            final List<Dependency> forcedDependencies = mojo.forcedDependencies(mode);\n            final ApplicationModel appModel;\n            try {\n                appModel = modelResolver.resolveManagedModel(appArtifact, forcedDependencies, Set.of(),\n                        managingProject(mojo), reloadableModules);\n            } catch (AppModelResolverException e) {\n                throw new MojoExecutionException(\"Failed to bootstrap application in \" + mode + \" mode\", e);\n            }\n            QuarkusBootstrap.Builder builder = QuarkusBootstrap.builder()\n                    .setAppArtifact(appModel.getAppArtifact())\n                    .setExistingModel(appModel)\n                    .setIsolateDeployment(true)\n                    .setBaseClassLoader(getClass().getClassLoader())\n                    .setBuildSystemProperties(getBuildSystemProperties(mojo, true))\n                    .setProjectRoot(mojo.baseDir().toPath())\n                    .setBaseName(mojo.finalName())\n                    .setOriginalBaseName(mojo.mavenProject().getBuild().getFinalName())\n                    .setTargetDirectory(mojo.buildDir().toPath())\n                    .setForcedDependencies(forcedDependencies)\n                    .setDependencyInfoProvider(() -> DependencyInfoProvider.builder()\n                            .setMavenModelResolver(EffectiveModelResolver.of(artifactResolver(mojo, mode)))\n                            .build());\n\n            try {\n                if (builderCustomizer != null) {","sourceCodeStart":316,"sourceCodeEnd":352,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/QuarkusBootstrapProvider.java#L316-L352","documentation":"During doBootstrap, QuarkusBootstrapProvider resolves the managed application model (with forced dependencies and reloadable modules) before creating the QuarkusBootstrap. An AppModelResolverException there means the application model — including platform-managed versions — could not be resolved, and is wrapped in this MojoExecutionException naming the launch mode (e.g. DEV, TEST).","triggerScenarios":"Running `mvn quarkus:dev`, `quarkus:test`, or package goals when managed dependencies cannot be resolved: missing platform BOM entries, conflicting forced dependencies, or unresolvable reloadable modules from a remote dev workspace.","commonSituations":"Overriding an extension version outside the platform (version mismatch); adding a dependency not managed by the imported BOM; broken local repository entries; remote-dev client with mismatched server version.","solutions":["Read the AppModelResolverException cause for the exact artifact that failed","Remove version overrides on Quarkus extensions so the platform BOM manages them","Refresh metadata/cache with `mvn -U` and clean ~/.m2/repository/io/quarkus if corrupted","Ensure quarkus.platform.version and the plugin version are aligned","For remote-dev, verify client and server use the same Quarkus version"],"exampleFix":"// before\n<dependency><groupId>io.quarkus</groupId><artifactId>quarkus-rest</artifactId><version>3.0.0.Final</version></dependency>\n// after\n<dependency><groupId>io.quarkus</groupId><artifactId>quarkus-rest</artifactId></dependency> <!-- version from platform BOM -->","handlingStrategy":"try-catch","validationCode":"// check that all quarkus deps are BOM-managed (no explicit versions)\n// grep the pom:\n//   grep -B2 '<version>' pom.xml | grep -A1 'io.quarkus' — any hit means an override","typeGuard":null,"tryCatchPattern":"try {\n    // mvn quarkus:dev\n} catch (MojoExecutionException e) {\n    if (e.getCause() instanceof AppModelResolverException) {\n        log.error(\"App model resolution failed in DEV mode: \" + e.getCause().getMessage());\n        // fix the artifact named in the message, then retry\n    }\n}","preventionTips":["Let the Quarkus platform BOM manage all io.quarkus versions","Align quarkus.platform.version with quarkus-maven-plugin version","Run mvn -U after platform upgrades","Match remote-dev client/server Quarkus versions"],"tags":["maven","bootstrap","app-model"],"backgroundTag":"dependency-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}