{"record":{"id":"90eede59948069ff","repo":"quarkusio/quarkus","slug":"failed-to-resolve-quarkus-application-model-for-a","errorCode":null,"errorMessage":"Failed to resolve Quarkus application model for <artifact>","messagePattern":"Failed to resolve Quarkus application model for <artifact>","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/GoOfflineMojo.java","lineNumber":121,"sourceCode":"\n        final DependencyNode root;\n        try {\n            root = resolver.getSystem().collectDependencies(\n                    resolver.getSession(),\n                    resolver.newCollectManagedRequest(pom, List.of(), List.of(), List.of(), List.of(), excludedScopes))\n                    .getRoot();\n        } catch (Exception e) {\n            throw new MojoExecutionException(\"Failed to collect dependencies of \" + pom, e);\n        }\n\n        final LocalWorkspace workspace = resolver.getMavenContext().getWorkspace();\n        final List<Path> createdDirs = new ArrayList<>(workspace.getProjects().size());\n        try {\n            ensureResolvableModule(root, workspace, createdDirs);\n            appModelResolver.resolveModel(ArtifactCoords.of(pom.getGroupId(), pom.getArtifactId(), pom.getClassifier(),\n                    pom.getExtension(), pom.getVersion()));\n        } catch (AppModelResolverException e) {\n            throw new MojoExecutionException(\"Failed to resolve Quarkus application model for \" + project.getArtifact(), e);\n        } finally {\n            for (Path d : createdDirs) {\n                IoUtils.recursiveDelete(d);\n            }\n        }\n    }\n\n    private MavenArtifactResolver getResolver() throws MojoExecutionException {\n        return workspaceProvider.createArtifactResolver(BootstrapMavenContext.config()\n                .setUserSettings(session.getRequest().getUserSettingsFile())\n                .setCurrentProject(project.getBasedir().toString())\n                .setRemoteRepositoryManager(remoteRepositoryManager)\n                .setRemoteRepositories(repos)\n                .setPreferPomsFromWorkspace(true));\n    }\n\n    private static void ensureResolvableModule(DependencyNode node, LocalWorkspace workspace, List<Path> createdDirs)\n            throws MojoExecutionException {","sourceCodeStart":103,"sourceCodeEnd":139,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/GoOfflineMojo.java#L103-L139","documentation":"After collecting the dependency tree, GoOfflineMojo resolves the Quarkus application model for the project artifact. If that model resolution throws AppModelResolverException, this MojoExecutionException is thrown. It means the Quarkus-specific view of the application's dependencies could not be built even though generic dependency collection succeeded.","triggerScenarios":"Calling `mvn quarkus:go-offline` when quarkus platform BOMs are missing/mismatched, extension coordinates do not resolve, or the project artifact lacks proper Quarkus metadata in the reactor.","commonSituations":"quarkus.platform.version pointing at a nonexistent release; extension version conflicts across BOMs; a module that is not a Quarkus application being processed; stale platform BOM in local repo.","solutions":["Verify quarkus.platform.groupId/artifactId/version match a published BOM and update them","Run `mvn quarkus:go-offline -U` to refresh platform metadata","Check the AppModelResolverException cause for the specific unresolvable artifact","Ensure the module is a Quarkus app (quarkus core dependency + platform BOM imported)","Clean ~/.m2/repository/io/quarkus and re-run"],"exampleFix":"// before\n<quarkus.platform.version>3.0.0.Final-nonexistent</quarkus.platform.version>\n// after\n<quarkus.platform.version>3.2.9.Final</quarkus.platform.version>","handlingStrategy":"try-catch","validationCode":"// verify platform BOM coordinates exist before running\nString version = \"3.2.9.Final\";\n// check io.quarkus.platform:quarkus-bom:<version> resolves:\nmvn dependency:get -Dartifact=io.quarkus.platform:quarkus-bom:3.2.9.Final:pom","typeGuard":null,"tryCatchPattern":"try {\n    // go-offline execution\n} catch (MojoExecutionException e) {\n    if (e.getCause() instanceof AppModelResolverException) {\n        log.error(\"Quarkus model resolution failed: \" + e.getCause().getMessage());\n    }\n}","preventionTips":["Keep quarkus.platform.version and plugin version in sync","Never override Quarkus extension versions individually","Test platform upgrades in a branch before pinning"],"tags":["maven","quarkus","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-14T00:17:10.932Z"}