{"record":{"id":"fc6fa142a0225c6a","repo":"quarkusio/quarkus","slug":"classpath-resource-pompropspath-is-missing-artif","errorCode":null,"errorMessage":"Classpath resource <pomPropsPath> is missing artifactId","messagePattern":"Classpath resource <pomPropsPath> is missing artifactId","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java","lineNumber":1721,"sourceCode":"\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\",\n                                                ArtifactCoords.TYPE_JAR, \"1.0\"))\n                                        .setManagedDependencies(getProjectAetherDependencyManagement())\n                                        .setDependencies(List.of(\n                                                new org.eclipse.aether.graph.Dependency(devModeJar, JavaScopes.RUNTIME),","sourceCodeStart":1703,"sourceCodeEnd":1739,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java#L1703-L1739","documentation":"DevMojo reads artifactId from the quarkus-bootstrap-maven-resolver pom.properties and throws this MojoExecutionException when the key is absent. Like the groupId check, it validates that the classpath resource carries complete Maven coordinates for the dev-mode launcher artifact.","triggerScenarios":"The pom.properties resource for quarkus-bootstrap-maven-resolver contains a groupId but no `artifactId` property — a malformed or stripped metadata file in the jar.","commonSituations":"Repackaged or manually edited jar missing parts of META-INF/maven metadata; corrupted artifact served by a mirror; custom build pipeline rewriting pom.properties.","solutions":["Delete and re-download quarkus-bootstrap-maven-resolver from ~/.m2/repository with -U","Align quarkus-maven-plugin version with the Quarkus platform version","Inspect the jar's pom.properties and confirm all three coordinate keys are present"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"unzip -p <resolver.jar> META-INF/maven/io.quarkus/quarkus-bootstrap-maven-resolver/pom.properties | grep artifactId","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Never strip META-INF/maven from jars in custom builds","Re-download suspicious artifacts instead of patching them","Keep plugin versions aligned with the platform"],"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"}