How to read an external properties file in Maven How to read an external properties file in Maven java java

How to read an external properties file in Maven


Using the suggested Maven properties plugin I was able to read in a buildNumber.properties file that I use to version my builds.

  <build>        <plugins>      <plugin>        <groupId>org.codehaus.mojo</groupId>        <artifactId>properties-maven-plugin</artifactId>        <version>1.0-alpha-1</version>        <executions>          <execution>            <phase>initialize</phase>            <goals>              <goal>read-project-properties</goal>            </goals>            <configuration>              <files>                <file>${basedir}/../project-parent/buildNumber.properties</file>              </files>            </configuration>          </execution>        </executions>      </plugin>   </plugins>


This answer to a similar question describes how to extend the properties plugin so it can use a remote descriptor for the properties file. The descriptor is basically a jar artifact containing a properties file (the properties file is included under src/main/resources).

The descriptor is added as a dependency to the extended properties plugin so it is on the plugin's classpath. The plugin will search the classpath for the properties file, read the file''s contents into a Properties instance, and apply those properties to the project's configuration so they can be used elsewhere.