Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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

A set of maven-enforcer-plugin rule

  • Check that plugin versions are defined
  • TODO: Ensure that plugin defs appear only once
  • TODO: More rules!
Code Block
<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 :

  • update it to the right path
  • put <relativePath /> in the <parent> tag so that maven knows it will have to look for it directly in the local repository

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.

  • Always use the ${} form
  1. Thank JVZ for the page title: