一、自带的settings文件
我们下载一个maven,在其config目录下,都会有一个settings.xml文件,里面很多英文注释,大家伙能看懂得最好去看那个,否则看这篇就够了。
二、元素说明
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!-- 设置本地仓库路径,默认值:${
user.home}/.m2/repository -->
<localRepository>D:\IDEA\Maven\repository</localRepository>
<!-- 当maven需要输入值时,是否由用户输入,默认为true,当为false时,maven将根据配置信息进行填充 -->
<interactiveMode>true</interactiveMode>
<!-- 执行构建时,Maven是否连接网络进行artifact下载、部署等操作,
默认为false,即默认联网
当需要处于离线状态(offline)时,将此值改为true。
-->
<offline>false</offline>
<!-- 当插件没有提供groupId时,则使用此处配置的groupId,相当于导入了配置此处配置的groupId的所有组件(使用时下载)
默认包含两个groupId:org.apache.maven.plugins、org.codehaus.mojo
-->
<pluginGroups>
<!-- 默认包含这两个groupId -->
<!--<pluginGroup>org.apache.maven.plugins</pluginGroup>
<pluginGroup>org.codehaus.mojo</pluginGroup>-->
</pluginGroups>
<!-- 配置代理,用于多工作环境,通过proxy id即可实现环境切换 -->
<proxies>
<proxy>
<!-- 唯一标识一个代理 -->
<id>optional</id>
<!-- 该代理是否激活 -->
<active>true</active>
<!-- 代理协议 -->
<protocol>http</protocol>
<!-- 代理服务器认证的用户名 -->
<username>proxyuser</username>
<!-- 代理服务器认证的密码 -->
<password>proxypass</password>
<!-- 代理服务器的主机名 -->
<host>proxy.host.net</host>
<!-- 代理服务器的端口 -->
<port>80</port>
<!-- 不被代理服务器代理的主机名/IP,可以使用'|'或','分隔 -->
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>
<!-- 配置访问远程服务器所需的用户信息,此处多为个人或公司私服的账号信息 -->
<servers>
<server>
<-- 唯一标识一个server,该id必须与后面的仓库id一致,否则仓库连接不上 -->
<id>nexus-maven-mirror</id>
<-- 远程仓库用户名 -->
<username>admin</username>
<-- 远程仓库密码 -->
<password>admin</password>
</server>
</servers>
<mirrors>
<!-- 配置多个mirror,当mirrorOf的值相同时,当且仅当上一个远程仓库连接失败才会访问下一个远程仓库,
连接成功后,即使没有获取想要的jar包,也不会访问下一个远程仓库,故一般配置一个就好,若担心配置的这个镜像会连接失败,可以在加一个
-->
<mirror>
<!-- 唯一标识一个mirror -->
<id>aliyun-maven-mirror</id>
<!-- 指定该镜像代替的时那个仓库,例如central就表示代替官方的中央库,*表示所有仓库都是用该镜像,!表示该仓库除外
<mirrorOf>*, ! central</mirrorOf> 表示所有的远程仓库 central除外,都使用该阿里云镜像
-->
<mirrorOf>central</mirrorOf>
<-- 该镜像库的名称,并无特殊用处 -->
<name>aliyun Maven</name>
<-- 代理镜像库的地址 -->
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles>
<!-- settings文件种的profile一共包含5各元素,起作用分别如下:
1. id:唯一标识一个profile
2. activation:profile激活条件配置
另外两种激活方式:settings文件种的activeProfile元素(最后一个元素)指定porfile激活
命令行通过-P和逗号分隔的列表来激活,如mvn clean package -P profile-id
3. properties:全局变量设置,一个常见用法就是