{"record":{"id":"c25e00fa775fc17a","repo":"quarkusio/quarkus","slug":"classpath-resource-pompropspath-is-missing-group","errorCode":null,"errorMessage":"Classpath resource <pomPropsPath> is missing groupId","messagePattern":"Classpath resource <pomPropsPath> is missing groupId","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java","lineNumber":1717,"sourceCode":"        if (coreDeployment == null) {\n            throw new MojoExecutionException(\n                    \"Failed to locate io.quarkus:quarkus-core-deployment on the application build classpath\");\n        }\n\n        final String pomPropsPath = \"META-INF/maven/io.quarkus/quarkus-bootstrap-maven-resolver/pom.properties\";\n        final InputStream devModePomPropsIs = DevModeMain.class.getClassLoader().getResourceAsStream(pomPropsPath);\n        if (devModePomPropsIs == null) {\n            throw new MojoExecutionException(\"Failed to locate \" + pomPropsPath + \" on the classpath\");\n        }\n        final Properties devModeProps = new Properties();\n        try (InputStream is = devModePomPropsIs) {\n            devModeProps.load(is);\n        } catch (IOException e) {\n            throw new MojoExecutionException(\"Failed to load \" + pomPropsPath + \" from the classpath\", e);\n        }\n        final String devModeGroupId = devModeProps.getProperty(\"groupId\");\n        if (devModeGroupId == null) {\n            throw new MojoExecutionException(\"Classpath resource \" + pomPropsPath + \" is missing groupId\");\n        }\n        final String devModeArtifactId = devModeProps.getProperty(\"artifactId\");\n        if (devModeArtifactId == null) {\n            throw new MojoExecutionException(\"Classpath resource \" + pomPropsPath + \" is missing artifactId\");\n        }\n        final String devModeVersion = devModeProps.getProperty(\"version\");\n        if (devModeVersion == null) {\n            throw new MojoExecutionException(\"Classpath resource \" + pomPropsPath + \" is missing version\");\n        }\n\n        final DefaultArtifact devModeJar = new DefaultArtifact(devModeGroupId, devModeArtifactId, ArtifactCoords.TYPE_JAR,\n                devModeVersion);\n        final DependencyResult cpRes = repoSystem.resolveDependencies(repoSession,\n                new DependencyRequest()\n                        .setCollectRequest(\n                                new CollectRequest()\n                                        // it doesn't matter what the root artifact is, it's an alias\n                                        .setRootArtifact(new DefaultArtifact(IO_QUARKUS, \"quarkus-devmode-alias\",","sourceCodeStart":1699,"sourceCodeEnd":1735,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java#L1699-L1735","documentation":"DevMojo reads groupId from the loaded quarkus-bootstrap-maven-resolver pom.properties; a null value means the properties file exists but lacks the groupId key, so it throws this MojoExecutionException. The properties file is generated by Maven at build time and must contain full artifact coordinates.","triggerScenarios":"The pom.properties resource on the classpath has no `groupId` entry — only possible with a hand-crafted, stripped, or incorrectly generated pom.properties inside the quarkus-bootstrap-maven-resolver jar.","commonSituations":"Manually rebuilt/repackaged resolver jar without Maven metadata; custom packaging excluding pom.properties keys; tampered jar in local repository or an artifact mirror serving a modified jar.","solutions":["Re-download the quarkus-bootstrap-maven-resolver jar: remove it from ~/.m2/repository and build with -U","Pin a matching quarkus-maven-plugin version to the Quarkus platform BOM","Verify the jar's pom.properties contains groupId/artifactId/version keys"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"jar xf quarkus-bootstrap-maven-resolver-<v>.jar META-INF/maven/io.quarkus/quarkus-bootstrap-maven-resolver/pom.properties && grep groupId META-INF/maven/io.quarkus/quarkus-bootstrap-maven-resolver/pom.properties","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use unmodified artifacts from Maven Central or your trusted mirror","Do not hand-edit jar metadata","Verify artifact checksums when a mirror is involved"],"tags":["maven","classpath","artifact-metadata","dev-mode"],"backgroundTag":"missing-artifact-metadata","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"}