apache/maven · warning
Invalid value specified for property {}: '{}'. Supported val
Error message
Invalid value specified for property {}: '{}'. Supported values are (case insensitive): {} What it means
DefaultPluginValidationManager parses the 'maven.plugin.validation' configuration property (Constants.MAVEN_PLUGIN_VALIDATION) into a ValidationReportLevel enum by valueOf(level.toUpperCase()). Any value outside {NONE, INLINE, SUMMARY, BRIEF, VERBOSE} (case-insensitive) throws IllegalArgumentException internally, which is caught to emit this warning naming the property, your bad value, and the supported set; the default level (INLINE) is then used.
Source
Thrown at impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java:128
.map(String::trim)
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
}
private ValidationReportLevel validationReportLevel(RepositorySystemSession session) {
return (ValidationReportLevel) session.getData()
.computeIfAbsent(ValidationReportLevel.class, () -> parseValidationReportLevel(session));
}
private ValidationReportLevel parseValidationReportLevel(RepositorySystemSession session) {
String level = ConfigUtils.getString(session, null, Constants.MAVEN_PLUGIN_VALIDATION);
if (level == null || level.isEmpty()) {
return DEFAULT_VALIDATION_LEVEL;
}
try {
return ValidationReportLevel.valueOf(level.toUpperCase(Locale.ENGLISH));
} catch (IllegalArgumentException e) {
logger.warn(
"Invalid value specified for property {}: '{}'. Supported values are (case insensitive): {}",
Constants.MAVEN_PLUGIN_VALIDATION,
level,
Arrays.toString(ValidationReportLevel.values()));
return DEFAULT_VALIDATION_LEVEL;
}
}
private String pluginKey(String groupId, String artifactId, String version) {
return groupId + ":" + artifactId + ":" + version;
}
private String pluginKey(MojoDescriptor mojoDescriptor) {
PluginDescriptor pd = mojoDescriptor.getPluginDescriptor();
return pluginKey(pd.getGroupId(), pd.getArtifactId(), pd.getVersion());
}
private String pluginKey(Artifact pluginArtifact) {View on GitHub (pinned to e4093d4e12)
Solutions
- Use one of the supported values (case-insensitive): NONE, INLINE, SUMMARY, BRIEF, VERBOSE — e.g. -Dmaven.plugin.validation=NONE.
- Replace the removed 'quite' with 'BRIEF' when migrating from Maven 3.8 configs.
- Grep CI configs, .mvn/maven.config and settings.xml for 'maven.plugin.validation' and validate the value.
Example fix
# before mvn -Dmaven.plugin.validation=quite package # after mvn -Dmaven.plugin.validation=BRIEF package
Defensive patterns
Strategy: validation
Validate before calling
# guard: validate the property before the build
VAL="${MAVEN_PLUGIN_VALIDATION:-}"
case "${VAL^^}" in
""|NONE|INLINE|SUMMARY|BRIEF|VERBOSE) ;;
*) echo "invalid maven.plugin.validation=$VAL"; exit 2;;
esac Prevention
- Remember the accepted set is exactly NONE, INLINE, SUMMARY, BRIEF, VERBOSE (case-insensitive).
- Replace legacy 'quite' with BRIEF when porting Maven 3.8 configs.
- Centralize the flag in .mvn/maven.config so typos surface once, not per pipeline.
When it happens
Trigger: Setting -Dmaven.plugin.validation=<typo> or a Maven-3-only value — e.g. 'nonee', 'quite' (a known pre-3.9 spelling no longer accepted), 'brief-only', or a fully custom string in CI env vars, .mvn/maven.config or settings.xml.
Common situations: Copying -Dmaven.plugin.validation=quite from old docs (it was valid in Maven 3.8 and earlier, replaced by BRIEF); typos in CI pipeline variables; silently falling back to INLINE so an operator's intent to mute (-Dmaven.plugin.validation=none) is ignored and warnings still appear.
Related errors
- Invalid color configuration value '{}'. Supported are 'auto'
- The specified user toolchains file does not exist: {}
- The specified installation toolchains file does not exist: {
- The specified user settings file does not exist: {}
- The specified project settings file does not exist: {}
AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21).
Data as JSON: /api/errors/8b8e5e80b2869929.
Report an issue: GitHub.