Maven settings.xml: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
Line 9: Line 9:
=Overview=
=Overview=


<tt>settings.xml</tt> is the place to store configuration that should not be bundled with a specific project. This includes various "personal" configuration values, the location of the local repository, alternate remote [[Maven Repositories|repository servers]] and authentication information. Usually, this information is bundled in specific [[Maven_Profile#In_Settings|profiles]].
<tt>settings.xml</tt> is the place to store configuration that should not be bundled with a specific project, but it concerns the build system as a whole. This includes various "personal" configuration values, the location of the local repository, alternate remote [[Maven Repositories|repository servers]] and authentication information. Usually, this information is bundled in specific [[Maven_Profile#In_Settings|profiles]].


There are two types of settings.xml files:
There are two types of settings.xml files:

Revision as of 18:54, 1 March 2017

External

Internal

Overview

settings.xml is the place to store configuration that should not be bundled with a specific project, but it concerns the build system as a whole. This includes various "personal" configuration values, the location of the local repository, alternate remote repository servers and authentication information. Usually, this information is bundled in specific profiles.

There are two types of settings.xml files:

  • global, placed in ${MAVEN_HOME}/conf/settings.xml.
  • user settings, placed in ${HOME}/.m2/settings.xml.

If both exist, the contents are merged and the user-specific values take precedence.

System properties and environment variables can be both used in settings.xml.

Note that properties defined in profiles within settings.xml cannot be dereferenced.

Elements

<localRepository>

The location of the local repository.

<localRepository>${user.home}/.m2/repository</localRepository>

<interactiveMode>

<interactiveMode>true</interactiveMode>

See Maven interactive mode.

<offline>

<offline>false</offline>

<servers>

Declares a server.

<servers>
    <server>
        <id>server001</id>
        <username>my_login</username>
        <password>my_password</password>
        <privateKey>${user.home}/.ssh/id_dsa</privateKey> 
        <passphrase>some_passphrase</passphrase>
        <filePermissions>664</filePermissions>
        <directoryPermissions>775</directoryPermissions>
        <configuration>
           ...
        </configuration>
    </server>
</servers>

<profiles>

Maven Profile

<activeProfiles>

<usePluginRegistry>

See plugin registry.

<pluginGroups>

<mirrors>

See mirror.

<proxies>

See proxy.