apache/maven · critical · IllegalStateException
The super POM {resource} was not found, please verify the in
Error message
The super POM {resource} was not found, please verify the integrity of your Maven installation What it means
DefaultSuperPomProvider loads the built-in super POM for a model version from the classpath resource /org/apache/maven/model/pom-<version>.xml. If that resource is absent, every model build for that version fails immediately with IllegalStateException: the message points at a broken or incompatible Maven installation rather than at the user's POM.
Source
Thrown at compat/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java:65
private Model superModel;
@Inject
private ModelProcessor modelProcessor;
public DefaultSuperPomProvider setModelProcessor(ModelProcessor modelProcessor) {
this.modelProcessor = modelProcessor;
return this;
}
@Override
public Model getSuperModel(String version) {
if (superModel == null) {
String resource = "/org/apache/maven/model/pom-" + version + ".xml";
InputStream is = getClass().getResourceAsStream(resource);
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"View on GitHub (pinned to e4093d4e12)
Solutions
- Verify the resource exists: unzip -l maven-model-builder-*.jar | grep 'pom-'; if absent, reinstall Maven or replace the jar from Maven Central
- Fix the POM modelVersion to a supported value (e.g. 4.0.0)
- Ensure no dependency shading or relocation strips org/apache/maven/model resources
- Compare against a known-good installation of the same Maven version
Defensive patterns
Strategy: validation
Validate before calling
// Verify the super POM resource exists for this modelVersion before building
String resource = "/org/apache/maven/model/pom-" + modelVersion + ".xml";
if (DefaultSuperPomProvider.class.getResourceAsStream(resource) == null) {
throw new IllegalStateException(
"modelVersion " + modelVersion + " not supported by this maven-model-builder; "
+ "check installation integrity");
} Prevention
- Install Maven from official distributions and verify archive checksums
- Validate modelVersion against supported values before building models programmatically
- Do not shade/relocate maven-model-builder; if unavoidable, keep org/apache/maven/model resources
When it happens
Trigger: getSuperModel(version) called with a modelVersion whose pom-<version>.xml is not shipped in the maven-model-builder jar (unsupported or typo'd modelVersion), or a jar that was corrupted, trimmed, or repackaged so the resource is missing.
Common situations: Corrupted or trimmed-down Maven distribution; a hand-crafted POM with a custom modelVersion; mixing a model-builder from one Maven line with model versions from another; shading/relocation dropping org/apache/maven/model resources.
Related errors
- The super POM {resource} is damaged, please verify the integ
- 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/ee7b7c217b622f0a.
Report an issue: GitHub.