从 ${maven-conf}/settings.xml
翻译
settings.xml文件翻译
<?xml version="1.0" encoding="UTF-8"?>
<!--
| 这是Maven的配置文件。 它可以指定为两个级别:
|
| 1.用户级别。 此settings.xml文件为单个用户提供配置,
| 通常在${user.home}/.m2/settings.xml中提供。
|
| 注意:可以使用CLI选项覆盖此位置:
| -s /path/to/user/settings.xml
|
| 2. 全局级别。 此settings.xml文件为计算机上的所有Maven用户提供配置(假设他们都使用相同的Maven安装)。
| 它通常在${maven.conf}/settings.xml中提供。
|
| 注意:可以使用CLI选项覆盖此位置:
| -gs /path/to/global/settings.xml
|
| 此示例文件中的部分旨在为您提供一个充分利用Maven安装的运行起点。在适当的情况下,提供默认值(未指定设置时使用的值)。
|-->
<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 本地存储库
| 本地存储库maven的路径将用于存储工件。
|
| 默认值: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<!-- interactiveMode 交互模式
| 这将确定maven是否在需要输入时提示您。如果设置为false,
| maven将使用合理的默认值(可能基于某些其他设置)来处理相关参数。
|
| 默认值:true
<interactiveMode>true</interactiveMode>
-->
<!-- offline 离线
| 确定maven在执行构建时是否应尝试连接到网络。 这将对工件下载,工件部署等产生影响。
|
| 默认值:true
<offline>false</offline>
-->
<!-- pluginGroups 插件组
| 这是在通过其前缀解析插件时,将搜索的其他组标识符的列表,即在调用诸如"mvn prefix:goal"的命令行时。
| 如果列表中尚未包含组标识符,则Maven将自动添加组标识符"org.apache.maven.plugins"和"org.codehaus.mojo"。
|-->
<pluginGroups>
<!-- pluginGroup
| 指定用于插件查找的其他组标识符。
<pluginGroup>com.your.plugins</pluginGroup>
-->
</pluginGroups>
<!-- proxies 代理
| 这是可以在此计算机上用于连接到网络的代理列表。
| 除非另有指定(通过系统属性或命令行开关), 否则将使用此列表中标记为活动的第一个代理规范。
|-->
<proxies>
<!-- proxy
| 用于连接网络的一个代理的规范。
|
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
</proxies>
<!-- servers
| 这是一个身份验证profiles列表,由系统中使用的server-id键入。
| 要maven必须连接到远程服务器,就可以使用身份验证profiles。
|-->
<servers>
<!-- server
| 指定连接到特定服务器时要使用的身份验证信息,由系统中的唯一名称标识(由下面的'id'属性引用)。
|
| 注意:您应该指定username/password或privateKey/passphrase,因为这些配对是一起使用的。
|
<server>
<id>deploymentRepo</id>
<username>repouser</username>
<password>repopwd</password>
</server>
-->
<!-- 另一个示例,使用密钥进行身份验证。
<server>
<id>siteServer</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
</servers>
<!-- mirrors 镜像
| 这是从远程存储库下载工件时使用的镜像列表。
|
| 它的工作原理如下:POM可以声明一个存储库,用于解析某些工件。
| 但是,此存储库有时可能会出现流量过大的问题,因此人们已将其镜像到多个位置。
|
| 该存储库定义将具有唯一ID,因此我们可以为该存储库创建镜像引用,以用作备用下载站点。
| 镜像站点将是该存储库的首选服务器。
|-->
<mirrors>
<!-- mirror
| 指定一个要使用的存储库镜像站点,而不是给定的存储库。
| 此镜像所服务的存储库具有与此镜像的mirrorOf元素匹配的ID。
| IDs 用于继承和直接查找的目的,并且在镜像集之间必须是唯一的。
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
</mirrors>
<!-- profiles 概述文件
| 这是一个profiles列表,可以通过各种方式激活,并可以修改构建过程。
| settings.xml中提供的Profiles旨在提供本地计算机特定的路径和存储库位置,以允许构建在本地环境中工作。
|
| 例如,如果你有一个集成测试插件 - 比如,cactus这样的 -- 需要知道你的Tomcat实例的安装位置,
| 你可以在这里提供一个变量,以便在构建过程中取消引用该变量来配置cactus插件。
|
| 如上所述,可以通过多种方式激活Profiles。稍后将讨论一种方法——本文档的ActiveProfiles部分(settings.xml)。
| 另一种方法本质上依赖于对系统属性的检测,要么匹配属性的特定值,要么只测试其存在性。
| Profiles也可以由JDK版本前缀激活,其中值“1.4”可能在JDK版本“1.4.2_07”上执行构建时激活配置文件。
| 最后,可以直接从命令行指定活动Profiles列表。
|
| 注意:对于在settings.xml中定义的profiles,您只能指定工件存储库、插件存储库和自由形式的属性,
| 以用作POM中插件的配置变量。
|
|-->
<profiles>
<!-- profile
| 指定要使用上述的一种或多种机制激活的构建过程的一组介绍。
| 为了继承,以及要通过<activatedprofiles/>标签或命令行激活profiles的目的,profiles必须具有唯一的ID。
|
| profile 标识的一个被鼓励的最佳实践是对 profiles 使用一致的命名约定,
| 例如'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', 等。
| 这将使您更直观地了解引入的profiles集正在尝试完成的工作,特别是当您只有一个profile ID列表用于调试时。
|
| 这个profile示例使用JDK版本来触发激活,并提供一个特定于JDK的repo。
<profile>
<id>jdk-1.4</id>
<activation>
<jdk>1.4</jdk>
</activation>
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
-->
<!--
| 这是另一个profile,由系统属性'target-env'及值为'dev'激活,
| 它提供了Tomcat实例的特定路径。 要使用它,您的插件配置可能假设如下:
|
| ...
| <plugin>
| <groupId>org.myco.myplugins</groupId>
| <artifactId>myplugin</artifactId>
|
| <configuration>
| <tomcatLocation>${tomcatPath}</tomcatLocation>
| </configuration>
| </plugin>
| ...
|
| 注意:如果您只是想在任何人将'target-env'设置为任何内容时注入此配置,您可以在激活属性中取消<value/>。
|
<profile>
<id>env-dev</id>
<activation>
<property>
<name>target-env</name>
<value>dev</value>
</property>
</activation>
<properties>
<tomcatPath>/path/to/tomcat/instance</tomcatPath>
</properties>
</profile>
-->
</profiles>
<!-- activeProfiles 活动的概述文件
| 所有构建操作都处于活动状态的profiles列表。
|
<activeProfiles>
<activeProfile>alwaysActiveProfile</activeProfile>
<activeProfile>anotherAlwaysActiveProfile</activeProfile>
</activeProfiles>
-->
</settings>
推荐镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>nexus-aliyun-google</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun google</name>
<url>https://maven.aliyun.com/repository/google</url>
</mirror>
<mirror>
<id>nexus-aliyun-jcenter</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun jcenter</name>
<url>https://maven.aliyun.com/repository/jcenter</url>
</mirror>