Maven - (Property|Filter)

1 - About

A property is used to supplied value of resource files at build time. This process is called filtering.

A property can be:

  • one of the values defined in your pom.xml,
  • a value defined in the user's settings.xml,
  • an environment variable
  • a property defined in an external properties file,

3 - How to

3.1 - Enable filtering

Filtering is dsiable by default. To enable it, you must modify the filtering element of the Pom.xml.


3.2 - Define a property

3.2.1 - Pom.Xml


3.2.2 - External properties file

In src/main/filters/



The external property file must be defined in the POM.xml


3.2.3 - Configuration Property

To reference a property from the configuration files, the property name uses the following syntax:



Some elements have default values and then don't need to be explicitly defined.


  • ${} refers to the name of the project,
  • ${pom.version} refers to the version of the project,
  • ${} refers to the final name of the file created when the built project is packaged,
  • ${settings.localRepository} refers to the path of the user's local repository).
  • ${env.myEnvironmentVariableName} refers the the environment variable myEnvironmentVariableName

3.2.4 - System properties

Filtering resources can also get values from system properties built into Java like:

  • java.version
  • user.home

3.2.5 - Command Line

Properties can also be defined on the command line using the standard Java -D parameter.

Example: To define the property command.line.prop with the value “hello again”

mvn process-resources "-Dcommand.line.prop=hello again"

3.2.6 - Environment variable

3.2.7 - Built-in properties

3.3 - Use them

The property values will be supplied when the resource is filtered.

Example: in the src/main/resources directory


3.4 - Start filtering

mvn process-resources

4 - Documentation / Reference

Data Science
Data Analysis
Data Science
Linear Algebra Mathematics

Powered by ComboStrap