This page extracts a few classical values:
${project.basedir}- This references to the root folder of the module/project (the location where the current pom.xml file is located)
${project.build.directory}- This represents by default the
targetfolder.
- This represents by default the
${project.build.outputDirectory}- This represents by default the
target/classesfolder.
- This represents by default the
${project.build.testOutputDirectory}- This represents by default the
target/test-classesfolder.
- This represents by default the
${project.build.sourceDirectory}- This represents by default the
src/main/javafolder.
- This represents by default the
${project.build.testSourceDirectory}- This represents by default the
src/test/javafolder.
- This represents by default the
You can use further properties like the following:
${project.build.finalName}- This is by default defined as
${project.artifactId}-${project.version}.
- This is by default defined as
${project.version}- This can be used at locations where you have to write a literal version otherwise, in particular if you are in a multi-modules build for inter modules dependencies.
User Settings
The
settings.xml elements could be referenced by using things like this (see also at the Super POM):${settings.localRepository}- which references the location of the local repository. This is by default
${home}/.m2/repository.
- which references the location of the local repository. This is by default
Values are evaluated in sequence from different syntaxes:
| value | evaluation result | common examples |
|---|---|---|
| project.* pom.* (deprecated) * (deprecated) | POM content (see POM reference) | ${project.version} ${project.build.finalName} ${project.artifactId} ${project.build.directory} |
| project.basedir pom.basedir (deprecated) basedir (deprecated) | the directory containing the pom.xml file | ${project.basedir} |
| project.baseUri pom.baseUri (deprecated) | the directory containing the pom.xml file as URI | ${project.baseUri} |
| build.timestamp maven.build.timestamp | the UTC timestamp of build start, in yyyy-MM-dd'T'HH:mm:ss'Z' default format, which can be overridden with maven.build.timestamp.format POM property | ${maven.build.timestamp} |
| * | user properties, set from CLI with -Dproperty=value | ${skipTests} |
| * | model properties, such as project properties set in the pom | ${any.key} |
| maven.home | The path to the current Maven home. | ${maven.home} |
| maven.version | The version number of the current Maven execution (since 3.0.4). For example, "3.0.5". | ${maven.version} |
| maven.build.version | The full build version of the current Maven execution (since 3.0.4). For example, "Apache Maven 3.2.2 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19T14:51:28+01:00)". | ${maven.build.version} |
| * | Java system properties (see JDK reference) | ${user.home} ${java.home} |
| env.* * | environment variables | ${env.PATH} |
| settings.* | Local user settings (see settings reference) | ${settings.localRepository} |
