Calfater Calfater - 8 months ago 43
Java Question

De-activate a maven profile from command line

I have a profile activated by default in my maven setting file ~/.m2/settings.xml.

Is it possible to deactivate it from the command line by doing something like this:

mvn -P!profileActivatedByDefault


Yes indeed, you have the right way. From maven profiles user guide

Deactivating a profile

Starting with Maven 2.0.10, one or more profiles can be deactivated using the command line by prefixing their identifier with either the character '!' or '-' as shown below:

mvn groupId:artifactId:goal -P !profile-1,!profile-2

This can be used to deactivate profiles marked as activeByDefault or profiles that would otherwise be activated through their activation config.

As noted by @Calfater in the comments, the exclamation mark needs to be escaped in most linux shells (not on windows command line, though)