<?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">
<!--指定本地仓库存储路径。默认值为~/.m2/repository 即 ${user.home}/.m2/repository。 -->
<localRepository>d:/.m2/repository</localRepository>

<!--指定Maven是否需要和用户输入进行交互。true:需要与用户交互;false:使用一个合理的默认值。默认值为true。 -->
<interactiveMode>true</interactiveMode>

<!--指定是否使用plugin-registry.xml文件来管理插件版本。设为true表示使用。默认值为false。-->
<usePluginRegistry>false</usePluginRegistry>

<!--指定是否在离线模式下运行。设为true表示项目构建要在离线模式下运行,默认值为false。 -->
<offline>false</offline>

<!-- 指定插件groupId列表,用于搜索时插件的groupId没有明确规定。 -->
<pluginGroups>
  <!-- 指定使用插件查找进一步的组标识符 -->
  <pluginGroup>com.micmiu.plugins</pluginGroup>
</pluginGroups>

<-- 指定这台机器连接到网络的代理服务器的列表。除非另有规定(系统属性或命令行开关),
列表中配置的第一代理将被激活使用,用于在特殊的网络策略环境下,可能要需要开发人员通过
代理服务器来访问互联网。此时就需要给Maven配置代理服务来访问仓库、更新相关资源-->

<proxies>
  <!-- 配置代理服务器的相关参数 -->
  <proxy>
    <!-- 代理标识ID,默认值:default -->
    <id>micmiuProxy</id>
    <!-- 指定是否激活,默认值:true -->
    <active>true</active>
    <!-- 指定代理协议,默认值:http -->
    <protocol>http</protocol>
    <!-- 指定代理认证的用户名 -->
    <username>micmiu</username>
    <!-- 指定代理认证用户的密码 -->
    <password>mypwd</password>
    <!-- 指定代理服务器的主机名 -->
    <host>micmiu.com</host>
    <!-- 指定代理服务的端口 默认值:8080 -->
    <port>80</port>
    <!-- 指定不被代理的主机名列表。多个用|分隔。-->
    <nonProxyHosts>ctosun.com|ctosun.micmiu.com</nonProxyHosts>
  </proxy>
</proxies>

<!-- 这是一个认证配置的列表,系统内部根据配置的serverID使用。认证配置用于maven链接到远程服务-->
<servers>
  <!-- 指定的身份认证信息用于连接到一个特定的服务器时,确定系统内的唯一的名称(简称下面的'id'属性)。-->
  <server>
    <!-- 这是server的id(注意不是用户登陆的id)。该id与distributionManagement中repository元素的id必须要匹配。-->
    <id>micmiu-releases</id>
    <!-- 服务器认证的用户名 -->
    <username>michael</username>
    <!-- 服务器认证的用户对应的密码 -->
    <password>mypwd</password>
  </server>

  <!-- 另一个示例 私钥/密码 -->
  <server>
    <id>micmiu-snapshots</id>
    <!-- 认证时使用的私钥文件。 -->
    <privateKey>/home/micmiu/.ssh/id_dsa</privateKey>
    <!-- 认证时使用的私钥密码,没有密码就设为空 -->
    <passphrase>mypwd</passphrase>
    <!-- 目录被创建时的权限设置。其值对应了unix文件系统的权限,如664,或者775 -->
    <directoryPermissions>775</directoryPermissions>
    <!-- 仓库文件创建时的权限设置。其值对应了unix文件系统的权限,如664,或者775。 -->
    <filePermissions>664</filePermissions>
  </server>
</servers>

<!-- 指定镜像列表,用于从远程仓库下载资源,如果你想覆盖中央仓库的默认地址,那么这里我们就会使用的镜像了 -->
<mirrors>
  <!-- 指定仓库的镜像站点,代替一个给定的库。该镜像藏库有一个ID相匹配的mirrorOf元素。
  ID是用于继承和直接查找目的,必须是唯一的。-->
  <mirror>
  <!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
    <id>mirrorId</id>
    <!--被镜像的服务器的id,比如:central,不能和id匹配。-->
    <mirrorOf>central</mirrorOf>
    <name>micmiu for dev.</name>
    <url>http://dev.micmiu.com/repo/maven2</url>
  </mirror>
</mirrors>

<!-- 这是一个可以在各种不同的方式激活的配置文件列表,并可以修改构建过程。在settings.xml中提供的信息,
旨在提供本地机器允许建立在本地环境中工作的具体路径和库位置。有多种方式可以激活配置属性:一种在settings.xml中<activeProfiles>指定;
另一种实质上依赖于系统属性,无论是匹配特定的属性值或只是测试到它的存在.配置文件也可以根据JDK版本的前缀进行激活,1.4 可以激活1.4.2_07
注:对于在settings.xml中定义的配置,你仅限于指定资源仓库、插件仓库和用于插件在POM中变量的自由形式属性的定义 -->
<profiles>
  <!-- 指定生成过程的介绍,使用一个或多个上述机制被激活。对于继承而言,激活通过<activatedProfiles/>或命令行配置文件,
  配置文件必须有一个唯一的ID。此配置文件的例子使用的JDK版本触发激活。-->
  <profile>
    <!--该配置的唯一标识符。 -->
    <id>jdk-1.4</id>

    <!--自动触发配置文件的逻辑定义。Activation的逻辑配置决定了是否开启该profile。activation元素并不是激活profile的唯一方式。
    settings.xml文件中的activeProfile元素可指定需要激活的profile的id。
    profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活 -->
    <activation>
      <!--指定是否激活的标识 默认值为false-->
      <activeByDefault>false</activeByDefault>
      <!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有不是以1.4开头的JDK版本。-->
      <jdk>1.4</jdk>
      <!-- 当检测到匹配的操作系统属性时,指定该配置文件将被激活, -->
      <os>
        <!--激活profile的操作系统的名字 -->
        <name>windows 7</name>
        <!--激活profile的操作系统所属家族(如 'windows') -->
        <family>windows</family>
        <!--激活profile的操作系统体系结构 -->
        <arch>x86</arch>
        <!--激活profile的操作系统版本-->
        <version>6.1</version>
      </os>

      <!-- 检测系统对应的属性和值(该值可在POM中通过${属性名称}引用),配置就会被激活。
      如果值字段是空的,那么存在属性名称字段就会激活 -->
      <property>
        <!-- 属性的名称 -->
        <name>mavenVersion</name>
        <!-- 属性的值 -->
        <value>3.0.4</value>
      </property>
      <!-- 通过检测该文件的是否存在来激活配置。missing检查文件是否存在,如果不存在则激活profile;exists则会检查文件是否存在,如果存在则激活。-->
      <file>
        <!--如果指定的文件存在,则激活profile。 -->
        <exists>/usr/local/micmiu/workspace/myfile</exists>
        <!--如果指定的文件不存在,则激活profile。-->
        <missing>/usr/local/micmiu/workspace/myfile</missing>
      </file>
    </activation>

  <!-- 对应profile的扩展属性列表。Maven属性和Ant中的属性一样,可以用来存放一些值。这些值可以在POM中的任何地方使用标记${X}来使用,
  这里X是指属性的名称。属性有五种不同的形式,并且都能在settings.xml文件中访问。
  1. env.X: 表示系统环境变量。例如,"env.PATH" 等同于 $path环境变量(在Windows上是%PATH%)。
  2. project.x:表示 POM中对应的属性值。
  3. settings.x: 表示 settings.xml中对应属性值。
  4. Java系统属性: 所有可通过java.lang.System.getProperties()访问的属性都能在POM中使用该形式访问。
  5. x: 在<properties/>元素中,或者外部文件中设置,以${someVar}的形式使用。 -->
    <properties>
      <user.blog>www.micmiu.com</user.blog>
    </properties>
  </profile>

  <!-- 这是另一个配置文件,根据系统属性来激活 -->
  <profile>
    <!--该配置的唯一标识符。 -->
    <id>env-dev</id>
    <activation>
      <property>
        <!-- 被用来激活配置文件的属性的名称 -->
        <name>target-env</name>
        <!-- 被用来激活配置文件的属性的值 -->
        <value>dev</value>
      </property>
    </activation>
    <!-- 指定配置文件的扩展配置 内容采取property.value的形式 -->
    <properties>
      <tomcatPath>/path/to/tomcat/instance</tomcatPath>
    </properties>
  </profile>

  <profile>
    <id>repo-dev</id>
    <!-- 配置远程仓库列表 -->
    <repositories>
      <!-- 远程仓库的配置信息 -->
      <repository>
        <!-- 远程仓库唯一标识-->
        <id>nexus</id>
        <!-- 远程仓库名称 -->
        <name>nexus for develop</name>
        <!-- 远程仓库URL -->
        <url>http://192.168.1.8:8080/nexus/content/groups/public/</url>
        <layout>default</layout>
        <releases>
          <!--是否使用这个资源库下载这种类型的构件 默认值:true-->
          <enabled>true</enabled>
          <!--指定下载更新的频率。这里的选项是:always(一直),daily(每日,默认值),interval:X(这里X是指分钟),或者never(从不)。 -->
          <updatePolicy>daily</updatePolicy>
          <!--当Maven验证构件校验文件失败时该怎么做fail(失败)或者warn(告警)。-->
          <checksumPolicy>warn</checksumPolicy>
        </releases>
        <snapshots>
          <!--是否使用这个资源库下载这种类型的构件 默认值:true-->
          <enabled>true</enabled>
          <!--指定下载更新的频率。这里的选项是:always(一直),daily(每日,默认值),interval:X(这里X是指分钟),或者never(从不)。 -->
          <updatePolicy>daily</updatePolicy>
          <!--当Maven验证构件校验文件失败时该怎么做fail(失败)或者warn(告警)。-->
          <checksumPolicy>warn</checksumPolicy>
        </snapshots>
      </repository>
    </repositories>
    <pluginRepositories>
      <pluginRepository>
        <id>nexus</id>
        <name>local nexus</name>
        <url>http://192.168.1.8:8080/nexus/content/groups/public</url>
        <layout>default</layout>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </pluginRepository>
    </pluginRepositories>
  </profile>
</profiles>

<!-- 指定被激活的配置文件-->
<activeProfiles>
  <activeProfile>repo-dev</activeProfile>
</activeProfiles>
</settings>

maven 本地setting.xml配置的更多相关文章

  1. Maven学习笔记—私服(包含maven的setting.xml配置)

    为什么要用远程仓库(私服) 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件,这样就加大了中央仓库 ...

  2. Maven系列--setting.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  3. maven+nexus setting.xml配置(收藏)

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...

  4. Maven之setting.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  5. Maven中setting.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  6. Maven .m2 setting.xml配置

    settings.xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="h ...

  7. Maven中setting.xml配置Demo

    <!-- 指定本地默认仓库 --> <localRepository>G:\Java\apache-maven-3.5.2\repository</localReposi ...

  8. maven的setting.xml文件中只配置本地仓库路径的方法

    maven的setting.xml文件中只配置本地仓库路径的方法 即:settings标签下只有一个 localRepository标签,其他全部注释掉即可 <?xml version=&quo ...

  9. Maven配置文件setting.xml详解

    注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...

随机推荐

  1. 分析jQuery中的each方法

    在看jQuery源码是怎么实现each方法之前,我们看一下js的原生实现. ECMAScript 5为数组定义了一个forEach方法,该方法接受两个参数:第一个参数是要在每一个数组项上运行的函数,第 ...

  2. spoj 379

    题是水题  但丫的题目意思太难懂 .......   英语水平  ...... #include <cstdio> #include <cstring> #include &l ...

  3. C++11新特性:右值引用和转移构造函数

    问题背景 #include <iostream> using namespace std; vector<int> doubleValues (const vector< ...

  4. php获取类的实例变量

    <?php class Page {private $title; //构造函数固定名称为__construct,这样能将php的类构造函数独立于类名,以后修改类名就无需修改构造函数名称 fun ...

  5. [topcoder]FlowerGarden

    1.此题很勉强算DP.找了半天网上思路,是个三层的循环,n^3.2.基本思路就是先找到在第一个位置的花.这样就双层遍历,找到所有和其他不冲突的花中最高的一个,然后放到结果的首位.然后去掉此花,继续使用 ...

  6. Qt: qobject_cast<QPushButton*>(sender()) 简化信号与槽的编写

    当你觉得写代码是一件重复性极高的工作时,这时你就应该考虑换个方式来实现了. 提高代码效率,减少代码量. 代码片: void Widget::onClicked() { QPushButton* but ...

  7. JMS基础(2)

    1.  JMS基本概念 JMS(Java Message Service) ,即Java消息服务.JMS是SUN提出的旨在统一各种消息中间件(MOM)系统接口的规范.它提供标准的产生.发送.接收消息的 ...

  8. Dreamweaver CS6破解教程[序列号+破解补丁]

    Dreamweaver CS6破解教程[序列号+破解补丁]   Adobe Dreamweaver CS6中文简体版下载地址:Dreamweaver CS6中文简体版下载[带破解] 破解之前的准备 1 ...

  9. Windows Embedded Compact 2013升级:VS2013也能编译

    IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...

  10. 转: 解决MSYS2下的中文乱码问题

    解决方案 新建/usr/bin/win: 12 #!/bin/bash$@ |iconv -f gbk -t utf-8 新建/etc/profile.d/alias.sh: 12345678 ali ...