{"record":{"id":"d4d153aecaf9ca96","repo":"quarkusio/quarkus","slug":"failed-to-load-pompropspath-from-the-classpath","errorCode":null,"errorMessage":"Failed to load + pomPropsPath + from the classpath","messagePattern":"Failed to load \\+ pomPropsPath \\+ from the classpath","errorType":"exception","errorClass":"GradleException","httpStatus":null,"severity":"error","filePath":"devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java","lineNumber":637,"sourceCode":"    private Dependency getQuarkusGradleBootstrapResolver() {\n        return getQuarkusBootstrapResolver(\"quarkus-bootstrap-gradle-resolver\");\n    }\n\n    private Dependency getQuarkusMavenBootstrapResolver() {\n        return getQuarkusBootstrapResolver(\"quarkus-bootstrap-maven-resolver\");\n    }\n\n    private Dependency getQuarkusBootstrapResolver(String artifactId) {\n        final String pomPropsPath = \"META-INF/maven/io.quarkus/\" + artifactId + \"/pom.properties\";\n        final InputStream devModePomPropsIs = DevModeMain.class.getClassLoader().getResourceAsStream(pomPropsPath);\n        if (devModePomPropsIs == null) {\n            throw new GradleException(\"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 GradleException(\"Failed to load \" + pomPropsPath + \" from the classpath\", e);\n        }\n        final String devModeGroupId = devModeProps.getProperty(\"groupId\");\n        if (devModeGroupId == null) {\n            throw new GradleException(\"Classpath resource \" + pomPropsPath + \" is missing groupId\");\n        }\n        final String devModeArtifactId = devModeProps.getProperty(\"artifactId\");\n        if (devModeArtifactId == null) {\n            throw new GradleException(\"Classpath resource \" + pomPropsPath + \" is missing artifactId\");\n        }\n        final String devModeVersion = devModeProps.getProperty(\"version\");\n        if (devModeVersion == null) {\n            throw new GradleException(\"Classpath resource \" + pomPropsPath + \" is missing version\");\n        }\n        return project.getDependencies()\n                .create(String.format(\"%s:%s:%s\", devModeGroupId, devModeArtifactId, devModeVersion));\n    }\n\n    private Dependency getQuarkusCoreDeployment(ApplicationModel appModel) {","sourceCodeStart":619,"sourceCodeEnd":655,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java#L619-L655","documentation":"After successfully locating pom.properties in getQuarkusBootstrapResolver, the plugin loads it with Properties.load. If reading the stream throws IOException, the build fails with this GradleException. Unlike error 338, the resource exists but is unreadable — rare, and typically points to a corrupted jar entry or stream problem.","triggerScenarios":"devModeProps.load(is) throws IOException while parsing META-INF/maven/io.quarkus/<artifactId>/pom.properties in getQuarkusBootstrapResolver (called by getQuarkusGradleBootstrapResolver/getQuarkusMavenBootstrapResolver).","commonSituations":"Corrupted plugin jar in the Gradle cache (truncated download); a malformed pom.properties manually injected by a local build; jar/jond stream errors from a damaged distribution.","solutions":["Delete the cached plugin artifact (rm -rf ~/.gradle/caches/modules-2/files-2.1/io.quarkus) and re-run so Gradle re-downloads an intact jar","Verify jar integrity of quarkus-gradle-plugin / bootstrap artifacts (unzip -t)","Rebuild any locally built Quarkus artifacts (./mvnw install -Dquickly) so embedded pom.properties are regenerated","Pin an official released Quarkus version instead of a hand-modified plugin jar"],"exampleFix":"// shell-side fix\n./gradlew --stop\nrm -rf ~/.gradle/caches/modules-2/files-2.1/io.quarkus\n./gradlew quarkusDev --refresh-dependencies","handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    ./gradlew quarkusDev\n} catch (GradleException e) {\n    if (e.message?.startsWith(\"Failed to load META-INF/maven\")) {\n        purgeQuarkusFromGradleCache(); retryWith(\"--refresh-dependencies\");\n    } else { throw e; }\n}","preventionTips":["Verify cached jars periodically (unzip -t) after network hiccups","Use --refresh-dependencies after a failed download","Avoid manually editing jars in the local cache","Rebuild local Quarkus snapshots after pull/rebase"],"tags":["gradle","io","classpath","pom-properties"],"backgroundTag":"resource-load-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}