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

  1. Re-download or replace the maven-model-builder jar and reinstall the Maven distribution
  2. Verify integrity: compare the jar's checksum against the published one on Maven Central
  3. Re-provision the whole installation (with the wrapper: distributionUrl in .mvn/wrapper/maven-wrapper.properties)
  4. 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

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


AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21). Data as JSON: /api/errors/6b7495c42573b613. Report an issue: GitHub.