Maven Profile: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 41: Line 41:


=Specifying a Profile=
=Specifying a Profile=
==Command Line==


The profile can be activated explicitly on command line with <tt>-P</tt>:
The profile can be activated explicitly on command line with <tt>-P</tt>:
Line 48: Line 50:
</pre>
</pre>


A profile can also be triggered through Maven settings, based on environment variables, OS settings, or present or missing files.
==In Settings==
 
The active profiles are specified in [[settings.xml]]:
 
<pre>
<settings>
  ...
  <activeProfiles>
    <activeProfile>blue</activeProfile>
  </activeProfiles>
  ...
</settings>
</pre>
 
==Other Methods==
 
A profile can also be triggered based on environment variables, OS settings, or present or missing files.

Revision as of 18:47, 26 October 2016

External

Internal

Overview

A profile is an alternative set of configurations which set or override default values. Profiles allow to customize a build for different environments. Profiles can be defined:

  • per project in the pom.xml file
  • per-user in ${user.home}/.m2/settings.xml
  • global in ${maven.home}/conf/settings.xml

Each profile is identified with an identifier. Profiles customizes the build for different environments (e.g. production or development, different operating systems, different JDK versions, etc.)

An example of profile:

...
<profiles> 
   <profile>
     <id>production</id>
         <build>
            <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                      <debug>false</debug> 
                      <optimize>true</optimize>
                  </configuration>
                </plugin>
            </plugins>
         </build>
   </profile>
 </profiles>
...

Specifying a Profile

Command Line

The profile can be activated explicitly on command line with -P:

mvn -Pproduction clear install

In Settings

The active profiles are specified in settings.xml:

<settings>
  ...
  <activeProfiles>
    <activeProfile>blue</activeProfile>
  </activeProfiles>
  ...
</settings>

Other Methods

A profile can also be triggered based on environment variables, OS settings, or present or missing files.