quarkusio/quarkus · error · GradleException
Classpath resource + pomPropsPath + is missing version
Error message
Classpath resource + pomPropsPath + is missing version
What it means
QuarkusDev.getQuarkusBootstrapResolver validates that the classpath poms.properties resource carries groupId, artifactId and version; this GradleException is thrown when 'version' is absent. The version is required to construct the dev-mode bootstrap dependency coordinate string 'groupId:artifactId:version'.
Source
Thrown at devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java:649
throw new GradleException("Failed to locate " + pomPropsPath + " on the classpath");
}
final Properties devModeProps = new Properties();
try (InputStream is = devModePomPropsIs) {
devModeProps.load(is);
} catch (IOException e) {
throw new GradleException("Failed to load " + pomPropsPath + " from the classpath", e);
}
final String devModeGroupId = devModeProps.getProperty("groupId");
if (devModeGroupId == null) {
throw new GradleException("Classpath resource " + pomPropsPath + " is missing groupId");
}
final String devModeArtifactId = devModeProps.getProperty("artifactId");
if (devModeArtifactId == null) {
throw new GradleException("Classpath resource " + pomPropsPath + " is missing artifactId");
}
final String devModeVersion = devModeProps.getProperty("version");
if (devModeVersion == null) {
throw new GradleException("Classpath resource " + pomPropsPath + " is missing version");
}
return project.getDependencies()
.create(String.format("%s:%s:%s", devModeGroupId, devModeArtifactId, devModeVersion));
}
private Dependency getQuarkusCoreDeployment(ApplicationModel appModel) {
ResolvedDependency coreDeployment = null;
for (ResolvedDependency d : appModel.getDependencies()) {
if (d.isDeploymentCp() && d.getArtifactId().equals("quarkus-core-deployment")
&& d.getGroupId().equals("io.quarkus")) {
coreDeployment = d;
break;
}
}
if (coreDeployment == null) {
throw new GradleException("Failed to locate io.quarkus:quarkus-core-deployment on the application build classpath");
}
return project.getDependencies()View on GitHub (pinned to e1c734241f)
Solutions
- Delete cached io.quarkus artifacts from the Gradle/Maven local caches and rebuild with --refresh-dependencies.
- Pin identical Quarkus plugin and platform versions across all modules of the build.
- Inspect the jar's poms.properties to verify groupId/artifactId/version are all present.
- Run ./gradlew --stop and clean the project to remove stale daemon/classpath state.
Example fix
// before: mismatched versions across modules
// moduleA: id 'io.quarkus' version '3.2.0.Final'; moduleB: '3.15.0'
// after: single version via settings.gradle pluginManagement
pluginManagement {
plugins { id 'io.quarkus' version '3.15.0' }
} Defensive patterns
Strategy: validation
Validate before calling
// Assert one Quarkus version across all modules before invoking dev tasks
// e.g. grep all build files for io.quarkus plugin versions and compare
grep -rE "id \('io.quarkus' version" */build.gradle | sort -u # must yield exactly one version Try / catch
try {
./gradlew quarkusDev
} catch (GradleException e) {
if (e.getMessage().contains("is missing version")) {
// align plugin versions via pluginManagement in settings.gradle and refresh dependencies
}
} Prevention
- Centralize the Quarkus version in gradle/libs.versions.toml or pluginManagement.
- Avoid mixing snapshot and release Quarkus artifacts.
- Re-download after network interruptions that may truncate artifacts.
- Run dependency verification (./gradlew --dependency-verification strict) to catch corrupt artifacts.
When it happens
Trigger: quarkusDev task execution where the poms.properties resource found on the classpath is missing the 'version' property; raised in getQuarkusBootstrapResolver, called by getQuarkusGradleBootstrapResolver and getQuarkusMavenBootstrapResolver.
Common situations: Partially written pom.properties during an interrupted dependency download; timestamped snapshot jars whose metadata was stripped; mixing Quarkus plugin versions across multi-module builds; corrupted local repositories on CI.
Related errors
- Classpath resource + pomPropsPath + is missing groupId
- Classpath resource + pomPropsPath + is missing artifactId
- Failed to locate io.quarkus:quarkus-core-deployment on the a
- Failed to locate project's classes directory
- Failed to process + artifactPath
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/99387ff53e804d47.
Report an issue: GitHub.