Maven中settings文件详解

本文介绍了Maven的settings.xml文件,包括自带的settings文件、元素说明及两种完整配置方式。重点讨论了如何配置中央仓库的代理镜像和私有仓库,强调了第二种配置的灵活性和可扩展性。
摘要由CSDN通过智能技术生成

一、自带的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:全局变量设置,一个常见用法就是
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值