{"record":{"id":"55ded5d278a5e397","repo":"quarkusio/quarkus","slug":"an-error-occurred-attempting-to-resolve-effective","errorCode":null,"errorMessage":"An error occurred attempting to resolve effective POM","messagePattern":"An error occurred attempting to resolve effective POM","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/LocalRepositoryEffectiveModelResolver.java","lineNumber":47,"sourceCode":"    @Override\n    public Model resolveEffectiveModel(ArtifactCoords coords, List<RemoteRepository> repos) {\n        File pom = modelResolver.resolvePom(coords.getGroupId(), coords.getArtifactId(), coords.getVersion());\n        if (pom == null) {\n            return null;\n        }\n        ModelBuildingRequest req = new DefaultModelBuildingRequest();\n        req.setModelResolver(modelResolver);\n        req.setPomFile(pom);\n        req.getSystemProperties().putAll(System.getProperties());\n        req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);\n\n        // execute the model building request\n        DefaultModelBuilderFactory factory = new DefaultModelBuilderFactory();\n        DefaultModelBuilder builder = factory.newInstance();\n        try {\n            return builder.build(req).getEffectiveModel();\n        } catch (ModelBuildingException e) {\n            throw new RuntimeException(\"An error occurred attempting to resolve effective POM\", e);\n        }\n    }\n\n}\n","sourceCodeStart":29,"sourceCodeEnd":52,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/LocalRepositoryEffectiveModelResolver.java#L29-L52","documentation":"LocalRepositoryEffectiveModelResolver builds the effective POM of an artifact already stored in the local repository using Maven's DefaultModelBuilder. If the model builder fails (ModelBuildingException) — e.g. the POM is malformed, its parent cannot be resolved from the local repo, or required properties are missing — it wraps the cause in a RuntimeException with this message.","triggerScenarios":"Calling resolveEffectiveModel(GAV) on a POM whose effective model cannot be built: invalid XML, unresolvable parent POM in the local repo, incompatible model version, or profile/property interpolation errors.","commonSituations":"Corrupt or truncated POM files in ~/.m2/repository from interrupted downloads; a parent POM that was never downloaded (see 'Has not been previously resolved' as a related root cause); POMs using features unsupported by the bundled Maven model builder version.","solutions":["Inspect the wrapped cause (getCause()) — it names the exact model building problem and location","Delete the artifact's directory in ~/.m2/repository and re-download the POM to fix corruption","Ensure the parent POM of the artifact exists in the local repository","Validate the POM XML manually (mvn help:effective-pom) to spot syntax/schema issues"],"exampleFix":"// before: swallowing RuntimeException without cause\n// after\ncatch (RuntimeException e) {\n    log.error(\"Effective POM failed\", e.getCause()); // ModelBuildingException has line/column detail\n}","handlingStrategy":"try-catch","validationCode":"if (!java.nio.file.Files.isRegularFile(pomPath)) throw new IllegalStateException(\"POM missing: \" + pomPath);\n// optionally sanity-check XML: DocumentBuilder.parse(pomPath)","typeGuard":"boolean isBuildablePom(Path pom) throws IOException {\n    if (!Files.isRegularFile(pom)) return false;\n    try (var in = Files.newInputStream(pom)) {\n        DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);\n        return true;\n    } catch (Exception e) { return false; }\n}","tryCatchPattern":"try {\n    Model model = resolver.resolveEffectiveModel(gav);\n} catch (RuntimeException e) {\n    Throwable cause = e.getCause(); // ModelBuildingException carries problem line/column\n    log.error(\"Effective POM build failed for \" + gav + \": \" + (cause != null ? cause.getMessage() : e));\n}","preventionTips":["Keep the local repository clean; delete partially downloaded artifact dirs","Always resolve parent POMs before building effective models from local repo","Run mvn help:effective-pom as a pre-flight check on suspect POMs","Pin a Maven model-builder version compatible with the POM's modelVersion"],"tags":["maven","pom-resolution","effective-model"],"backgroundTag":"pom-model-build-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"}