Introducing Maven profiles
So far, our Maven configuration files, pom.xml
, are quite straightforward with no advanced settings. Actually, we have already used Maven profiles in Chapter 3, Unit Testing, when we wanted to compute the code coverage of our unit tests using JaCoCo. Our case was to have this coverage computation executed only when we explicitly instruct Maven to do it.
In general, build profiles are used in several cases. The most common scenario is to make builds environment agnostic so that they can be executed in any platform or operating system without changing them every time. Profiles can also be used when we want to describe a specific set of build steps that are not required to be included in our daily builds, like the code coverage computation we discussed in Chapter 3, Unit Testing. Profiles are also used to make pom.xml
files more readable. Instead of having all build steps inside the <build>
tag, we can modularize them in concrete profiles that are activated...