quarkusio/quarkus · error · MojoExecutionException
Classpath resource <pomPropsPath> is missing version
Error message
Classpath resource <pomPropsPath> is missing version
What it means
DevMojo reads version from the quarkus-bootstrap-maven-resolver pom.properties and throws this MojoExecutionException if the version key is missing. The version is then used to construct the DefaultArtifact for the dev-mode jar, so it is mandatory.
Source
Thrown at devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java:1725
throw new MojoExecutionException("Failed to locate " + pomPropsPath + " on the classpath");
}
final Properties devModeProps = new Properties();
try (InputStream is = devModePomPropsIs) {
devModeProps.load(is);
} catch (IOException e) {
throw new MojoExecutionException("Failed to load " + pomPropsPath + " from the classpath", e);
}
final String devModeGroupId = devModeProps.getProperty("groupId");
if (devModeGroupId == null) {
throw new MojoExecutionException("Classpath resource " + pomPropsPath + " is missing groupId");
}
final String devModeArtifactId = devModeProps.getProperty("artifactId");
if (devModeArtifactId == null) {
throw new MojoExecutionException("Classpath resource " + pomPropsPath + " is missing artifactId");
}
final String devModeVersion = devModeProps.getProperty("version");
if (devModeVersion == null) {
throw new MojoExecutionException("Classpath resource " + pomPropsPath + " is missing version");
}
final DefaultArtifact devModeJar = new DefaultArtifact(devModeGroupId, devModeArtifactId, ArtifactCoords.TYPE_JAR,
devModeVersion);
final DependencyResult cpRes = repoSystem.resolveDependencies(repoSession,
new DependencyRequest()
.setCollectRequest(
new CollectRequest()
// it doesn't matter what the root artifact is, it's an alias
.setRootArtifact(new DefaultArtifact(IO_QUARKUS, "quarkus-devmode-alias",
ArtifactCoords.TYPE_JAR, "1.0"))
.setManagedDependencies(getProjectAetherDependencyManagement())
.setDependencies(List.of(
new org.eclipse.aether.graph.Dependency(devModeJar, JavaScopes.RUNTIME),
new org.eclipse.aether.graph.Dependency(new DefaultArtifact(
coreDeployment.getGroupId(), coreDeployment.getArtifactId(),
coreDeployment.getClassifier(), coreDeployment.getType(),
coreDeployment.getVersion()), JavaScopes.RUNTIME)))View on GitHub (pinned to e1c734241f)
Solutions
- Remove io/quarkus/quarkus-bootstrap-maven-resolver from the local repo and re-resolve with -U
- Reinstall the quarkus-maven-plugin at a version matching the platform BOM
- Confirm pom.properties inside the jar lists groupId, artifactId and version
Defensive patterns
Strategy: validation
Validate before calling
unzip -p <resolver.jar> META-INF/maven/io.quarkus/quarkus-bootstrap-maven-resolver/pom.properties # must contain groupId, artifactId and version lines
Prevention
- Do not modify pom.properties inside jars
- After partial upgrades, wipe and re-fetch affected io.quarkus artifacts
- Use a single Quarkus version across plugin and dependencies
When it happens
Trigger: The pom.properties resource has groupId and artifactId but no `version` property — incomplete Maven metadata inside the resolver jar.
Common situations: Stripped or hand-modified pom.properties in a repackaged jar; corrupted artifact in local repository; mismatched plugin/jar versions after a partial upgrade.
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 <pomPropsPath> on the classpath
- Failed to open class path file <file>
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/0c81b3e61591f41b.
Report an issue: GitHub.