apache/maven · error · IllegalStateException
Maven version is expected to have 3 segments: '${mavenVersio
Error message
Maven version is expected to have 3 segments: '${mavenVersion}' What it means
Error "Maven version is expected to have 3 segments: '${mavenVersion}'" thrown in apache/maven.
Source
Thrown at impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java:388
// Properties containing info about the currently running version of Maven
// These override any corresponding properties set on the command line
// ----------------------------------------------------------------------
Properties buildProperties = CLIReportingUtils.getBuildProperties();
String mavenVersion = buildProperties.getProperty(CLIReportingUtils.BUILD_VERSION_PROPERTY);
systemProperties.setProperty(Constants.MAVEN_VERSION, mavenVersion);
boolean snapshot = mavenVersion.endsWith("SNAPSHOT");
if (snapshot) {
mavenVersion = mavenVersion.substring(0, mavenVersion.length() - "SNAPSHOT".length());
if (mavenVersion.endsWith("-")) {
mavenVersion = mavenVersion.substring(0, mavenVersion.length() - 1);
}
}
String[] versionElements = mavenVersion.split("\\.");
if (versionElements.length != 3) {
throw new IllegalStateException("Maven version is expected to have 3 segments: '" + mavenVersion + "'");
}
systemProperties.setProperty(Constants.MAVEN_VERSION_MAJOR, versionElements[0]);
systemProperties.setProperty(Constants.MAVEN_VERSION_MINOR, versionElements[1]);
systemProperties.setProperty(Constants.MAVEN_VERSION_PATCH, versionElements[2]);
systemProperties.setProperty(Constants.MAVEN_VERSION_SNAPSHOT, Boolean.toString(snapshot));
String mavenBuildVersion = CLIReportingUtils.createMavenVersionString(buildProperties);
systemProperties.setProperty(Constants.MAVEN_BUILD_VERSION, mavenBuildVersion);
Path mavenConf;
if (systemProperties.getProperty(Constants.MAVEN_INSTALLATION_CONF) != null) {
mavenConf = context.installationDirectory.resolve(
systemProperties.getProperty(Constants.MAVEN_INSTALLATION_CONF));
} else if (systemProperties.getProperty("maven.conf") != null) {
mavenConf = context.installationDirectory.resolve(systemProperties.getProperty("maven.conf"));
} else if (systemProperties.getProperty(Constants.MAVEN_HOME) != null) {
mavenConf = context.installationDirectory
.resolve(systemProperties.getProperty(Constants.MAVEN_HOME))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:388 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21).
Data as JSON: /api/errors/863af38c9bb058a0.
Report an issue: GitHub.