In Maven 3.0.3, we introduced some improvements to the way plugin goals can be configured. This post summarizes these improvements and gives some examples of how Maven plugin configuration has been enhanced. We’ve focused on making improvements that will reduce the friction of plugin configuration for both plugin developers and Maven end-users.
First, a general tip for users interested in using these enhancements in POMs: use the requireMavenVersion rule from the Maven Enforcer Plugin and required Maven version 3.0.3. This will save other team members from running into strange build failures due to plugin misconfiguration if they are still using previous Maven versions. Likewise, plugin authors that take advantage of these enhancements should properly declare the Maven prerequisite in the plugin POM.