Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


As this interpolation logic evolved through subsequent releases of Maven 2.0.x, it took on aspects of layered resolution coming from command-line properties, system properties, POM properties, and POM instance values (not necessarily in that order). Environment variables from the operating system were added to the mix at one point. Through all of this, elements coming from the POM itself were required to be available in three forms: ${pom.*}, ${project.*}, and un-prefixed unprefixed ${*} expressions. Added to this, environment variables were distinguished from system and other properties using the ${env.*} expression prefix.

All of these prefix variants and layered value sources strained the original interpolation logic more and more with each successive release, and use cases always dropped through the variants with each change, each Maven release.