详解Maven用户的配置settings.xml
Maven用户设置
作者其他技术文章
3) SpringCloud入门之常用的配置文件 application.yml和 bootstrap.yml区别
这是一份Maven的特定于用户的配置的参考。
包括不应与pom.xml文件一起分发的内容,例如开发人员身份,以及本地设置,如代理信息。
设置文件的默认位置是〜/ .m2 / settings.xml
- <settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.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/>
- <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>
settings-Maven的用户配置文件settings.xml的根元素。
Element |
Type |
Description |
localRepository
|
String
|
Maven本地存储库。 默认值为: $ {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> |
(很多)Maven配置服务器特定的设置,主要是身份验证方法。这允许基于每个服务器配置身份验证。 |
mirrors/mirror* |
List<Mirror> |
(很多)Maven配置存储库的下载镜像。 |
profiles/profile* |
List<Profile> |
(许多)Maven构建配置文件的配置,用于根据环境参数调整构建。 |
activeProfiles/activeProfile* |
List<String> |
(多个)Maven手动激活的构建配置文件列表,按照应用顺序指定。 |
pluginGroups/pluginGroup* |
List<String> |
(很多)Maven当没有明确提供插件groupId时,要搜索插件的groupId列表。 |
proxy
Maven的用户配置文件settings.xml的<proxy>元素包含代理设置所需的信息。
Element |
Type |
Description |
active |
boolean |
Maven此代理配置是否为活动配置。 默认值为:true。 |
protocol |
String |
Maven代理协议。 默认值为:http。 |
username |
String |
Maven代理用户。 |
password |
String |
Maven代理密码。 |
port |
int |
Maven代理端口。 默认值为:8080。 |
host |
String |
Maven代理主机。 |
nonProxyHosts |
String |
Maven非代理主机列表(由|分隔)。 |
id |
String |
没有说明。 Maven默认值为:default。 |
server
Maven的用户配置文件settings.xml的<server>元素包含服务器设置所需的信息。
Element |
Type |
Description |
username |
String |
Maven用于验证的用户名。 |
password |
String |
与用户名一起使用的密码进行身份验证。 |
privateKey |
String |
Maven用于进行身份验证的私钥位置。 |
passphrase |
String |
Maven密码与privateKey一起使用以进行身份验证。 |
filePermissions |
String |
Maven文件创建时的权限。 |
directoryPermissions |
String |
Maven创建目录时的目录权限。 |
configuration |
DOM |
Maven传输层的额外配置。 |
ID |
String |
没有说明。 |
mirror
Maven的用户配置文件settings.xml的<mirror>,存储库的下载镜像配置。
Element |
Type |
Description |
mirrorOf |
String |
Maven镜像存储库的服务器ID,例如“central”。这必须与镜像id不匹配。 |
name |
String |
Maven描述镜像的可选名称。 |
url |
String |
Maven镜像存储库的URL。 |
layout |
String |
Maven镜像存储库的布局。由于Maven 3. |
mirrorOfLayouts |
String |
Maven存储库的布局是镜像的。此值可用于将镜像的使用限制为具有匹配布局的存储库(除了匹配的ID)。自Maven 3. |
id |
String |
没有说明。 |
profile
Maven的用户配置文件settings.xml的<profile>,构建过程的定义,该过程以某种环境参数为基础。
Element |
Type |
Description |
activation |
Activation |
Maven条件逻辑将自动触发包含此配置文件。 |
properties/key=value* |
Properties |
(很多)Maven特定于此配置文件的扩展配置在这里。内容采用 <property.name> property.value </property.name>的形式 |
repositories/repository* |
List<Repository> |
(很多)Maven远程存储库的列表。 |
pluginRepositories/pluginRepository* |
List<Repository> |
(很多)Maven用于发现插件的远程存储库列表。 |
id |
String |
没有说明。 |
activation
Maven的用户配置文件settings.xml的<activation>,构建运行时环境条件将触发自动包含父构建概要文件。
Element |
Type |
Description |
activeByDefault |
boolean |
Maven标记此配置文件是否作为默认值处于活动状态。 |
jdk |
String |
Maven指定在检测到匹配的JDK时将激活此配置文件。 |
os |
ActivationOS |
Maven指定在检测到匹配的OS属性时将激活此配置文件。 |
property |
ActivationProperty |
Maven指定在指定此System属性时将激活此配置文件。 |
file |
ActivationFile |
Maven指定将根据文件的存在激活此配置文件。 |
os
Maven的用户配置文件settings.xml的<OS>,这是一个激活配置,它将检测操作系统的属性以激活其配置文件。
Element |
Type |
Description |
name |
String |
Maven用于激活配置文件的OS的名称。 |
family |
String |
Maven用于激活配置文件的OS的一般系列(例如'windows') |
arch |
String |
Maven用于激活配置文件的OS的体系结构。 |
version |
String |
Maven用于激活配置文件的OS版本。 |
property
Maven的用户配置文件settings.xml的<Property>,这是用于激活配置文件的属性规范。如果value字段为空,则named属性的存在将激活配置文件,否则它也会对属性值进行区分大小写的匹配。
Element |
Type |
Description |
name |
String |
Maven用于激活配置文件的属性的名称。 |
Value |
String |
Maven用于激活配置文件的属性的值。 |
file
Maven的用户配置文件settings.xml的<file>,这是用于激活配置文件的文件规范。默认值将是需要存在的文件的位置,如果不存在,则必须运行该配置文件。另一方面,exists将测试文件是否存在,如果存在则将运行配置文件。
Element |
Type |
Description |
missing |
String |
Maven激活配置文件时应该缺少的文件名。 |
exists |
String |
Maven激活配置文件时应存在的文件的名称。 |
repository
Maven的用户配置文件settings.xml的<repository>,存储库包含与远程存储库建立连接所需的信息
Element |
Type |
Description |
releases |
RepositoryPolicy |
Maven如何处理从此存储库下载的版本 |
snapshots |
RepositoryPolicy |
Maven如何处理从此存储库下载快照 |
id |
String |
Maven存储库的唯一标识符。 |
name |
String |
Maven友好可读的存储库名称。 |
url |
String |
Maven存储库的URL。 |
layout |
String |
Maven此存储库用于定位和存储工件的布局类型 - 可以是“遗留”或“默认”。 |
releases
Maven的用户配置文件settings.xml的<releases>,下载策略
Element |
Type |
Description |
enabled |
boolean |
Maven是否使用此存储库下载此类工件。 |
updatePolicy |
String |
Maven下载更新的频率 - 可以是“始终”,“每天”(默认),“间隔:XXX”(以分钟为单位)或“从不”(仅当它本地不存在时)。 |
checksumPolicy |
String |
Maven验证工件校验和失败时该怎么办 - 警告,失败等。有效值为“失败”或“警告”。 |
snapshots
Maven的用户配置文件settings.xml的<snapshots>,下载策略
Element |
Type |
Description |
enabled |
boolean |
Maven是否使用此存储库下载此类工件。 |
updatePolicy |
String |
Maven下载更新的频率 - 可以是“始终”,“每天”(默认),“间隔:XXX”(以分钟为单位)或“从不”(仅当它本地不存在时)。 |
checksumPolicy |
String |
Maven验证工件校验和失败时该怎么办 - 警告,失败等。有效值为“失败”或“警告”。 |
pluginRepository
Maven的用户配置文件settings.xml的<pluginRepository>,存储库包含与远程存储库建立连接所需的信息
Element |
Type |
Description |
Element |
Type |
Maven如何处理从此存储库下载的版本 |
releases |
RepositoryPolicy |
Maven如何处理从此存储库下载快照 |
snapshots |
RepositoryPolicy |
Maven存储库的唯一标识符。 |
id |
String |
人类可读的存储库名称。 |
name |
String |
Maven存储库的URL。 |
url |
String |
Maven此存储库用于定位和存储工件的布局类型 - 可以是“遗留”或“默认”。 |