{"record":{"id":"e35e17a2dbc44d4c","repo":"quarkusio/quarkus","slug":"failed-to-resolve-application-model-appartifact-e35e17","errorCode":null,"errorMessage":"Failed to resolve application model <appArtifact> dependencies","messagePattern":"Failed to resolve application model <appArtifact> dependencies","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/DependencySbomMojo.java","lineNumber":153,"sourceCode":"        try {\n            modelResolver = new BootstrapAppModelResolver(getResolver())\n                    .setRuntimeModelOnly(runtimeOnly);\n            if (mode != null) {\n                if (mode.equalsIgnoreCase(\"test\")) {\n                    modelResolver.setTest(true);\n                } else if (mode.equalsIgnoreCase(\"dev\") || mode.equalsIgnoreCase(\"development\")) {\n                    modelResolver.setDevMode(true);\n                } else if (mode.equalsIgnoreCase(\"prod\") || mode.isEmpty()) {\n                    // ignore, that's the default\n                } else {\n                    throw new MojoExecutionException(\n                            \"Parameter 'mode' was set to '\" + mode + \"' while expected one of 'dev', 'test' or 'prod'\");\n                }\n            }\n            modelResolver.setLegacyModelResolver(BootstrapAppModelResolver.isLegacyModelResolver(project.getProperties()));\n            return modelResolver.resolveModel(appArtifact);\n        } catch (Exception e) {\n            throw new MojoExecutionException(\"Failed to resolve application model \" + appArtifact + \" dependencies\", e);\n        }\n    }\n\n    private String getSbomFilename() {\n        var a = project.getArtifact();\n        var sb = new StringBuilder().append(a.getArtifactId()).append(\"-\").append(a.getVersion()).append(\"-\");\n        if (!\"prod\".equalsIgnoreCase(mode)) {\n            sb.append(mode).append(\"-\");\n        }\n        return sb.append(\"dependency-cyclonedx\").append(\".\").append(format).toString();\n    }\n\n    private File getSbomFile() {\n        var f = outputFile;\n        if (f == null) {\n            f = new File(project.getBuild().getDirectory(), getSbomFilename());\n        }\n        if (getLog().isDebugEnabled()) {","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/DependencySbomMojo.java#L135-L171","documentation":"DependencySbomMojo.resolveApplicationModel resolves the app model via BootstrapAppModelResolver before generating the SBOM. Any Exception from resolution (or surrounding logic) is wrapped in a MojoExecutionException 'Failed to resolve application model <appArtifact> dependencies' with the root cause chained.","triggerScenarios":"Running quarkus:dependency-sbom when modelResolver.resolveModel(appArtifact) throws — unresolvable artifacts, repository/network issues, broken workspace metadata, or invalid project dependencies.","commonSituations":"Offline CI without a populated ~/.m2 cache; missing private repository credentials; corrupt local repo entries; version-range dependencies that cannot be resolved; multi-module workspace misconfiguration.","solutions":["Re-run with -e/-X to inspect the chained cause","Ensure dependencies resolve first with mvn validate or mvn dependency:go-offline","Fix settings.xml repository credentials/mirrors for private artifacts","Clean corrupt ~/.m2/repository entries for the failing artifacts"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// Pre-verify dependency resolution before generating the SBOM\nmvn -q validate dependency:go-offline   # a failing exit indicates artifacts that will break resolveModel","typeGuard":null,"tryCatchPattern":"try {\n    mvn quarkus:dependency-sbom;\n} catch (MojoExecutionException e) {\n    if (e.getMessage().startsWith(\"Failed to resolve application model\")) {\n        // read e.getCause() for the exact unresolvable artifact or repo problem,\n        // fix settings/dependencies, then retry\n    }\n}","preventionTips":["Populate the local repo (dependency:go-offline) before offline SBOM generation","Ensure credentials for private repositories in settings.xml","Avoid version ranges and snapshots in release SBOM pipelines","Clean corrupt ~/.m2 entries for artifacts reported in the cause"],"tags":["maven","dependency-resolution","sbom","build"],"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"}