apache/maven · critical · IllegalStateException
The super POM {resource} is damaged, please verify the integ
Error message
The super POM {resource} is damaged, please verify the integrity of your Maven installation What it means
The super POM classpath resource was found, but reading or parsing it threw an IOException, wrapped in IllegalStateException saying the super POM 'is damaged'. This is never a POM-authoring problem: the bundled super POM inside maven-model-builder could not be read, which almost always means physical corruption of the installation.
Source
Thrown at compat/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java:82
if (is == null) {
throw new IllegalStateException("The super POM " + resource + " was not found"
+ ", please verify the integrity of your Maven installation");
}
try {
Map<String, Object> options = new HashMap<>();
options.put("xml:4.0.0", "xml:4.0.0");
String modelId =
"org.apache.maven:maven-model-builder:" + getImplementationVersion(getClass()) + ":super-pom";
InputSource inputSource = new InputSource();
inputSource.setModelId(modelId);
inputSource.setLocation(getClass().getResource(resource).toExternalForm());
options.put(ModelProcessor.INPUT_SOURCE, inputSource);
superModel = modelProcessor.read(is, options);
} catch (IOException e) {
throw new IllegalStateException(
"The super POM " + resource + " is damaged"
+ ", please verify the integrity of your Maven installation",
e);
}
}
return superModel;
}
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 replace the maven-model-builder jar and reinstall the Maven distribution
- Verify integrity: compare the jar's checksum against the published one on Maven Central
- Re-provision the whole installation (with the wrapper: distributionUrl in .mvn/wrapper/maven-wrapper.properties)
- Investigate disk or antivirus interference if corruption recurs
Defensive patterns
Strategy: try-catch
Try / catch
try {
Model superModel = superPomProvider.getSuperModel(modelVersion);
} catch (IllegalStateException e) {
if (e.getMessage() != null && e.getMessage().contains("is damaged")) {
// installation-level corruption: re-provision, no point retrying as-is
throw new ProvisioningRequiredException("Reinstall Maven: bundled super POM unreadable", e);
}
throw e;
} Prevention
- Verify distribution and jar checksums during provisioning
- Re-provision the Maven installation via the wrapper when integrity checks fail
- Never hand-modify jars under the Maven home lib directory
When it happens
Trigger: modelProcessor.read(is, options) on the bundled super-POM stream fails: truncated or corrupted jar entry, broken zip structure, or a jar swapped mid-run.
Common situations: Interrupted Maven download or install; disk or archive corruption; a truncated maven-model-builder jar on the classpath; antivirus quarantining parts of the jar.
Related errors
- The super POM {resource} was not found, please verify the in
- The super POM {} is damaged, please verify the integrity of
- 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/6b7495c42573b613.
Report an issue: GitHub.