# Maven – 设置文件

> 原文： [https://howtodoinjava.com/maven/maven-settings-file/](https://howtodoinjava.com/maven/maven-settings-file/)

Maven `settings.xml`文件包含并非特定于项目的配置，但实际上是全局的。 它还包含不需要分发的信息（例如密码）。

## Maven 设置文件的位置

Maven 可以同时具有两个设置文件：

*   Maven 安装目录：`$M2_HOME/conf/settings.xml` [全局设置]
*   用户的主目录：`${user.home}/.m2/settings.xml` [用户设置]

这两个文件都是可选的。 如果两个文件都存在，则用户主目录设置文件中的值将覆盖全局设置文件中的值。

## Maven 默认`setting.xml`

默认的 Maven `setting.xml`如下所示：

```java
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository/>
      <interactiveMode/>
      <usePluginRegistry/>
      <offline/>
      <pluginGroups/>
      <servers/>
      <mirrors/>
      <proxies/>
      <profiles/>
      <activeProfiles/>
</settings>

```

下表中对元素进行了简要说明：

| 元素名称 | 描述 |
| --- | --- |
| `localRepository` | Maven 在`C:\Users\<your_user_name>\.m2\repository`文件夹中本地存储插件和依赖项的副本。 此元素可用于更改本地仓库的路径。 |
| `interactiveMode` | 顾名思义，当此值设置为`true`时，默认值是 Maven 与用户交互输入。 |
| `usePluginRegistry` | 它决定 Maven 是否应使用`${user.home}/.m2/plugin-registry.xml`文件来管理插件版本。 其默认值为`false`。 |
| `offline` | 当设置为`true`时，此配置指示 Maven 以脱机模式运行。 默认值为`false`。 |
| `pluginGroups` | 它包含`pluginGroup`元素的列表，每个元素都包含`groupId`。 当使用插件且命令行中未提供`groupId`时，将搜索列表。 此列表自动包含`org.apache.maven.plugins`和`org.codehaus.mojo`。 |
| `servers` | Maven 可以与各种服务器进行交互，例如 Apache Subversion（SVN）服务器，构建服务器和远程仓库服务器。 该元素允许您指定连接到这些服务器所需的安全凭证，例如用户名和密码。 |
| `mirrors` | 顾名思义，镜像使您可以为仓库指定备用位置。 |
| `proxies` | 代理包含连接到互联网所需的 HTTP 代理信息。 |
| `profiles` | 配置文件允许您对某些配置元素进行分组，例如仓库和`pluginRepositories`。 |
| `activeProfile` | `activeProfile`允许您指定默认配置文件以供 Maven 使用。 |

参考： [Maven](https://maven.apache.org/settings.html)

将我的问题放在评论部分。

学习愉快！