apache/maven · error · IllegalArgumentException

Failed to parse extensions file: ${extensionsFile}

Error message

Failed to parse extensions file: ${extensionsFile}

What it means

Error "Failed to parse extensions file: ${extensionsFile}" thrown in apache/maven.

Source

Thrown at impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java:530

        return result.isEmpty() ? null : List.copyOf(result);
    }

    protected List<CoreExtension> readCoreExtensionsDescriptorFromFile(Path extensionsFile, boolean allowMetaVersions) {
        try {
            if (extensionsFile != null && Files.exists(extensionsFile)) {
                try (InputStream is = Files.newInputStream(extensionsFile)) {
                    return validateCoreExtensionsDescriptorFromFile(
                            extensionsFile,
                            List.copyOf(new CoreExtensionsStaxReader()
                                    .read(is, true, InputSource.of(extensionsFile.toString()))
                                    .getExtensions()),
                            allowMetaVersions);
                }
            }
            return List.of();
        } catch (XMLStreamException | IOException e) {
            throw new IllegalArgumentException("Failed to parse extensions file: " + extensionsFile, e);
        }
    }

    protected List<CoreExtension> validateCoreExtensionsDescriptorFromFile(
            Path extensionFile, List<CoreExtension> coreExtensions, boolean allowMetaVersions) {
        Map<String, List<InputLocation>> gasLocations = new HashMap<>();
        Map<String, List<InputLocation>> metaVersionLocations = new HashMap<>();
        for (CoreExtension coreExtension : coreExtensions) {
            String ga = coreExtension.getGroupId() + ":" + coreExtension.getArtifactId();
            InputLocation location = coreExtension.getLocation("");
            gasLocations.computeIfAbsent(ga, k -> new ArrayList<>()).add(location);
            // TODO: metaversions could be extensible enum with these two values out of the box
            if ("LATEST".equals(coreExtension.getVersion()) || "RELEASE".equals(coreExtension.getVersion())) {
                metaVersionLocations.computeIfAbsent(ga, k -> new ArrayList<>()).add(location);
            }
        }
        if (gasLocations.values().stream().anyMatch(l -> l.size() > 1)) {
            throw new IllegalStateException("Extension conflicts in file " + extensionFile + ": "

View on GitHub (pinned to e4093d4e12)

When it happens

Trigger: Thrown at impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java:530 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


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