apache/maven · warning
{}
Error message
{} What it means
DefaultPluginValidationManager.mayReportInline() prints one line per detected plugin validation issue with locality INTERNAL (issues inside the plugin itself, such as dependencies expected in provided scope or Maven-3-only API usage) right next to the mojo invocation, as a single ' * <issue>' warn line. It only fires when the effective report level is INLINE or BRIEF (the default is INLINE).
Source
Thrown at impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java:154
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) {
return pluginKey(pluginArtifact.getGroupId(), pluginArtifact.getArtifactId(), pluginArtifact.getVersion());
}
private void mayReportInline(RepositorySystemSession session, IssueLocality locality, String issue) {
if (locality == IssueLocality.INTERNAL) {
ValidationReportLevel validationReportLevel = validationReportLevel(session);
if (INLINE_VALIDATION_LEVEL.contains(validationReportLevel)) {
logger.warn(" {}", issue);
}
}
}
@Override
public void reportPluginValidationIssue(
IssueLocality locality, RepositorySystemSession session, Artifact pluginArtifact, String issue) {
String pluginKey = pluginKey(pluginArtifact);
if (validationPluginExcludes(session).contains(pluginKey)) {
return;
}
PluginValidationIssues pluginIssues =
pluginIssues(session).computeIfAbsent(pluginKey, k -> new PluginValidationIssues());
pluginIssues.reportPluginIssue(locality, null, issue);
mayReportInline(session, locality, issue);
}
@OverrideView on GitHub (pinned to e4093d4e12)
Solutions
- Fix the flagged plugin: correct dependency scopes (Maven core deps to provided), remove isolated/duplicate dependencies, stop using deprecated APIs.
- Upgrade the listed plugin — newer releases usually fix reported issues.
- If the issue is not actionable for you, silence it per-plugin with -Dmaven.plugin.validation.excludes=<groupId>:<artifactId> (G:A keys), or set -Dmaven.plugin.validation=NONE to mute all reporting.
Example fix
# before: internal issues reported inline at default INLINE level mvn package # ' * [WARNING] ... issue text' # after: fix the plugin (scope -> provided) or exclude it mvn -Dmaven.plugin.validation.excludes=com.example:bad-plugin package
Defensive patterns
Strategy: fallback
Validate before calling
# guard: if you cannot fix the plugin yet, verify the exclude key is set correctly # keys are G:A pairs, comma separated mvn -Dmaven.plugin.validation.excludes=com.example:bad-plugin package 2>&1 \ | grep -c ' \* ' # inline issue lines; expect 0 for excluded plugin
Prevention
- For in-house plugins: scope Maven core dependencies as provided and avoid deprecated APIs so internal issues never fire.
- Upgrade plugins after Maven upgrades; validators get stricter each major release.
- Use -Dmaven.plugin.validation=NONE only temporarily and track why.
When it happens
Trigger: Building with default or explicit -Dmaven.plugin.validation=INLINE|BRIEF while a plugin in the plan triggers an internal validation rule — e.g. a plugin packaging Maven core artifacts as compile-scope dependencies, or using deprecated/undocumented Maven APIs.
Common situations: After upgrading Maven (validators got stricter), warnings appear for older third-party plugins; maintainers of in-house plugins seeing their own dependency-scope mistakes flagged at each execution.
Related errors
- Plugin {} validation issues were detected in following plugi
- The version cannot be empty.
- {} is not a valid log severity threshold. Valid severities a
- Invalid dependency scope:
- Invalid value specified for property {}: '{}'. Supported val
AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21).
Data as JSON: /api/errors/08d4be3ce41a607c.
Report an issue: GitHub.