apache/maven · critical · IllegalStateException
The super POM {} is damaged, please verify the integrity of
Error message
The super POM {} is damaged, please verify the integrity of your Maven installation What it means
The super POM classpath resource was found, but reading it threw an IOException while opening the stream or parsing. DefaultSuperPomProvider reports the installation as damaged. Almost always a corrupted or truncated maven-impl jar or Maven distribution.
Source
Thrown at impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSuperPomProvider.java:74
private Model readModel(String version, String v) {
String resource = "/org/apache/maven/model/pom-" + v + ".xml";
URL url = getClass().getResource(resource);
if (url == null) {
throw new IllegalStateException("The super POM " + resource + " was not found"
+ ", please verify the integrity of your Maven installation");
}
try (InputStream is = url.openStream()) {
String modelId =
"org.apache.maven:maven-api-impl:" + getImplementationVersion(getClass()) + ":super-pom-" + version;
return modelProcessor.read(XmlReaderRequest.builder()
.modelId(modelId)
.location(url.toExternalForm())
.inputStream(is)
.strict(false)
.build());
} catch (IOException e) {
throw new IllegalStateException(
"The super POM " + resource + " is damaged"
+ ", please verify the integrity of your Maven installation",
e);
}
}
static String getImplementationVersion(Class<?> clazz) {
Package packageInfo = clazz.getPackage();
return packageInfo != null ? packageInfo.getImplementationVersion() : null;
}
}
View on GitHub (pinned to e4093d4e12)
Solutions
- Re-download or reinstall the Maven distribution / maven-impl artifact
- Verify the jar integrity (checksum, jar tf) and replace it if entries cannot be read
- Clear and re-fetch any local-repository copy of maven-impl if it resolved from a remote repository
Defensive patterns
Strategy: try-catch
Try / catch
try {
Model superPom = superPomProvider.getSuperPom(version);
} catch (IllegalStateException e) {
// installation damaged: verify checksums, reinstall Maven / maven-impl, then restart
log.error("Maven installation damaged: {}", e.getMessage());
} Prevention
- Verify distribution checksums when provisioning Maven in CI images
- Replace, never patch, a jar that fails jar tf checks
When it happens
Trigger: getSuperPom(version) where url.openStream() or the model read fails with IOException: truncated jar entry, disk corruption, or a repackaged jar with broken resource compression.
Common situations: Interrupted Maven download or update; disk or proxy corruption; jars processed by broken shading or repackaging tools.
Related errors
- The super POM {resource} was not found, please verify the in
- The super POM {resource} is damaged, please verify the integ
- The super POM {} was not found, please verify the integrity
- Unable to lookup org.eclipse.aether.RepositorySystem
- Unable to read Maven version from maven-core
AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21).
Data as JSON: /api/errors/58e3da16b61df92e.
Report an issue: GitHub.