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
target
folder.
- This represents by default the
${project.build.outputDirectory
}- This represents by default the
target/classes
folder.
- This represents by default the
${project.build.testOutputDirectory
}- This represents by default the
target/test-classes
folder.
- This represents by default the
${project.build.sourceDirectory
}- This represents by default the
src/main/java
folder.
- This represents by default the
${project.build.testSourceDirectory
}- This represents by default the
src/test/java
folder.
- 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} |