设置

这是 Maven 的用户特定配置的参考。

包括不应与 pom.xml 文件一起分发的内容,例如开发人员身份,以及本地设置,例如代理信息。

设置文件的默认位置是~/.m2/settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>

  <proxies>
    <proxy>
      <active/>
      <protocol/>
      <username/>
      <password/>
      <port/>
      <host/>
      <nonProxyHosts/>
      <id/>
    </proxy>
  </proxies>

  <servers>
    <server>
      <username/>
      <password/>
      <privateKey/>
      <passphrase/>
      <filePermissions/>
      <directoryPermissions/>
      <configuration/>
      <id/>
    </server>
  </servers>

  <mirrors>
    <mirror>
      <mirrorOf/>
      <name/>
      <url/>
      <layout/>
      <mirrorOfLayouts/>
      <blocked/>
      <id/>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
      <activation>
        <activeByDefault/>
        <jdk/>
        <os>
          <name/>
          <family/>
          <arch/>
          <version/>
        </os>
        <property>
          <name/>
          <value/>
        </property>
        <file>
          <missing/>
          <exists/>
        </file>
      </activation>
      <properties>
        <key>value</key>
      </properties>

      <repositories>
        <repository>
          <releases>
            <enabled/>
            <updatePolicy/>
            <checksumPolicy/>
          </releases>
          <snapshots>
            <enabled/>
            <updatePolicy/>
            <checksumPolicy/>
          </snapshots>
          <id/>
          <name/>
          <url/>
          <layout/>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <releases>
            <enabled/>
            <updatePolicy/>
            <checksumPolicy/>
          </releases>
          <snapshots>
            <enabled/>
            <updatePolicy/>
            <checksumPolicy/>
          </snapshots>
          <id/>
          <name/>
          <url/>
          <layout/>
        </pluginRepository>
      </pluginRepositories>
      <id/>
    </profile>
  </profiles>

  <activeProfiles/>
  <pluginGroups/>
</settings>

设置

用户配置文件的根元素。

元素 类型 描述
localRepository String 本地存储库。
默认值为: ${user.home}/.m2/repository
interactiveMode boolean Maven 是否应该尝试与用户交互以获取输入。
默认值为true
usePluginRegistry boolean Maven 是否应该使用 plugin-registry.xml 文件来管理插件版本。
默认值为false
offline boolean 指示 maven 是否应该在离线模式下全职运行。
默认值为false
proxies/proxy* List<Proxy> (许多)不同代理配置文件的配置。对于在笔记本电脑或其他移动平台上工作的任何人来说,多个代理配置文件可能会派上用场,以便通过简单地指定配置文件 ID 来轻松切换整个代理配置,同样可以从命令行或下面的默认部分。
servers/server* List<Server> (很多)服务器特定设置的配置,主要是身份验证方法。这允许在每个服务器的基础上配置身份验证。
mirrors/mirror* List<Mirror> (很多)为存储库配置下载镜像。
profiles/profile* List<Profile> (许多)构建配置文件的配置,用于根据环境参数调整构建。
activeProfiles/activeProfile* List<String> (许多)手动激活的构建配置文件列表,按照应用它们的顺序指定。
pluginGroups/pluginGroup* List<String> (许多)在未明确提供插件 groupId 时搜索插件的 groupId 列表。

代理

<proxy>元素包含代理设置所需的信息。

元素 类型 描述
active boolean 此代理配置是否是活动的。
默认值为true
protocol String 代理协议。
默认值为http
username String 代理用户。
password String 代理密码。
port int 代理端口。
默认值为8080
host String 代理主机。
nonProxyHosts String 非代理主机列表(由 | 分隔)。
id String 没有说明。
默认值为default

服务器

<server>元素包含服务器设置所需的信息。

元素 类型 描述
username String 用于身份验证的用户名。
password String 与用户名一起使用的密码进行身份验证。
privateKey String 用于身份验证的私钥位置。
passphrase String 与 privateKey 结合使用的密码进行身份验证。
filePermissions String 创建文件时的权限。
directoryPermissions String 创建目录时的权限。
configuration DOM 传输层的额外配置。
id String 没有说明。
默认值为default

镜子

给定存储库的下载镜像。

元素 类型 描述
mirrorOf String 被镜像的存储库的服务器 ID,例如“central”。这不能与镜像 ID 匹配。
name String 描述镜像的可选名称。
url String 镜像仓库的 URL。
layout String 镜像存储库的布局。从 Maven 3 开始。
默认值为: default
mirrorOfLayouts String 被镜像的存储库的布局。此值可用于将镜像的使用限制为具有匹配布局的存储库(除了匹配的 id)。从 Maven 3 开始。
默认值为: default,legacy
blocked boolean 是否应阻止此镜像的任何下载请求但下载过程失败,并解释原因。
默认值为false
id String 没有说明。
默认值为default

轮廓

以某种环境参数为关键的构建过程的修改。

元素 类型 描述
activation Activation 将自动触发包含此配置文件的条件逻辑。
properties/key=value* Properties (许多)特定于此配置文件的扩展配置在这里。内容形式为 <property.name>property.value</property.name>
repositories/repository* List<Repository> (许多)远程存储库的列表。
pluginRepositories/pluginRepository* List<Repository> (很多)用于发现插件的远程存储库列表。
id String 没有说明。
默认值为default

激活

构建运行时环境中将触发自动包含父构建配置文件的条件。

元素 类型 描述
activeByDefault boolean 指定此配置文件是否作为默认活动的标志。
默认值为false
jdk String 指定在检测到匹配的 JDK 时激活此配置文件。
os ActivationOS 指定在检测到匹配的操作系统属性时激活此配置文件。
property ActivationProperty 指定在指定此系统属性时将激活此配置文件。
file ActivationFile 指定将根据文件的存在激活此配置文件。

操作系统

这是一个激活器,它将检测操作系统的属性以激活其配置文件。

元素 类型 描述
name String 用于激活配置文件的操作系统的名称。
family String 用于激活配置文件的一般操作系统系列(例如“windows”)
arch String 用于激活配置文件的操作系统架构。
version String 用于激活配置文件的操作系统版本。

财产

这是用于激活配置文件的属性规范。如果 value 字段为空,则命名属性的存在将激活配置文件,否则它也会对属性值进行区分大小写的匹配。

元素 类型 描述
name String 用于激活配置文件的属性名称。
value String 用于激活配置文件的属性值。

文件

这是用于激活配置文件的文件规范。缺少的值将是需要存在的文件的位置,如果不存在,则必须运行配置文件。另一方面,exists 将测试文件是否存在,如果存在将运行配置文件。

元素 类型 描述
missing String 激活配置文件时应该缺少的文件的名称。
exists String 应该存在以激活配置文件的文件的名称。

存储库

存储库包含与远程存储库建立连接所需的信息

元素 类型 描述
releases RepositoryPolicy 如何处理从此存储库下载版本
snapshots RepositoryPolicy 如何处理从此存储库下载快照
id String 存储库的唯一标识符。
name String 存储库的人类可读名称。
url String 存储库的 url。
layout String 此存储库用于定位和存储工件的布局类型 - 可以是“旧版”或“默认”。
默认值为default

发布

下载政策

元素 类型 描述
enabled boolean 是否使用此存储库来下载此类工件。
默认值为true
updatePolicy String 下载更新的频率 - 可以是“总是”、“每天”(默认)、“间隔:XXX”(以分钟为单位)或“从不”(仅当本地不存在时)。
checksumPolicy String 当工件校验和验证失败时该怎么办 - 警告、失败等。有效值为“失败”或“警告”。

快照

下载政策

元素 类型 描述
enabled boolean 是否使用此存储库来下载此类工件。
默认值为true
updatePolicy String 下载更新的频率 - 可以是“总是”、“每天”(默认)、“间隔:XXX”(以分钟为单位)或“从不”(仅当本地不存在时)。
checksumPolicy String 当工件校验和验证失败时该怎么办 - 警告、失败等。有效值为“失败”或“警告”。

插件库

存储库包含与远程存储库建立连接所需的信息

元素 类型 描述
releases RepositoryPolicy 如何处理从此存储库下载版本
snapshots RepositoryPolicy 如何处理从此存储库下载快照
id String 存储库的唯一标识符。
name String 存储库的人类可读名称。
url String 存储库的 url。
layout String 此存储库用于定位和存储工件的布局类型 - 可以是“旧版”或“默认”。
默认值为default