This page contains advice to ensure smooth transition to maven 3 from maven 2 :

A set of maven-enforcer-plugin rule

<project>  [...]
                   <message>Best Practice is to always define plugin versions!</message>


relative path to parent

If a project is referring to a parent pom, but that pom isn't reachable in the default parent path (../pom.xml). Then you should either :

Standard variables

For example, when one wants to refer to the artifactId of a POM, the variable ${project.artifactId} can be used.
There are a lot of other possibilities to do that, like ${pom.artifactId}, ${artifactId} and so on.
These ways are all deprecated and might be deleted in the future. With maven3, all these deprecated uses appear as warnings.

  1. Thank JVZ for the page title: