Maven配置setting.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">
- <!--指定本地仓库存储路径。默认值为~/.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>
- <!-- 指定这台机器连接到网络的代理服务器的列表。除非另有规定(系统属性或命令行开关),
- 列表中配置的第一代理将被激活使用。-->
- <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详细说明的更多相关文章
- Eclipse Maven 配置setting.xml 的镜像远程仓库
1.在.m2中新建settings.xml文件 1.window-->Preferences-->Maven-->User Settings 3.点击open file 编辑将远程仓 ...
- Maven配置setting.xml值Mirror与Repository区别
1 Repository(仓库) 1.1 Maven仓库主要有2种: remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问 local repository ...
- Maven - 配置setting.xml
1.配置本地库路径 <localRepository>C:/fyliu/mvn/repo</localRepository> 2.配置中央仓库 <mirror> & ...
- maven的setting.xml文件中只配置本地仓库路径的方法
maven的setting.xml文件中只配置本地仓库路径的方法 即:settings标签下只有一个 localRepository标签,其他全部注释掉即可 <?xml version=&quo ...
- Maven学习笔记—私服(包含maven的setting.xml配置)
为什么要用远程仓库(私服) 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件,这样就加大了中央仓库 ...
- Maven配置文件setting.xml详解
注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...
- maven 本地setting.xml配置
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...
- Maven之setting.xml配置文件详解
setting.xml配置文件 maven的配置文件settings.xml存在于两个地方: 1.安装的地方:${M2_HOME}/conf/settings.xml 2.用户的目录:${user.h ...
- Maven配置 settings.xml 转
https://my.oschina.net/qjx1208/blog/201085 摘要: 记录settings.xml的配置,理解mirror.repository.profile的关系 本地仓库 ...
随机推荐
- web前端之面试:自我介绍
面试官您好, 首先很感谢贵公司的面试邀请, 让我有这个幸运机会能来到这里和您交流 : 接下来我做一个简单的自我介绍: 我的姓名是 XX, 祖籍是XX, 年龄是24, 学校是 XXX, 专业是XXX: ...
- 整理一些大厂的开源平台及github,向他们看齐...
有人苦恼,该如何突破技术的局限性... 有人羡慕,技术上你怎么懂得这么多... 有人哀叹,唉,我已经学不动了... 我的总结(纯属个人想法):身处IT,就得不断学习和积累,才不会被狠狠地甩在身后.什么 ...
- Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用
多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程. 一.ThreadPoolTaskExecutor ...
- Axure实现百度登录页面(一)
本文主要实现了百度登录页面的设计,其中最主要的是实现点击用户名和密码框时使边框颜色发生变化 (1)首先拖入一个矩形框,将边框可见性全部去掉 (2)将百度的图片拖入,将“用户名密码登录”和“短信快捷登录 ...
- SpringCloud之Eureka、Ribbon
一.微服务架构 简单的说,微服务是系统架构的一种设计风格,它的主旨是将一个原本独立的系统拆分为多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通 ...
- Java学习笔记之方法
前言:如果把所有代码都写到main方法中,后果是什么? 1,结构混乱 不清晰 2,不能重用 方法:规则:方法写在类中,不能写在其它方法中.方法不能嵌套方法 如何定义方法: 访问修饰符 返 ...
- VSCode 配置 Python 开发环境
一.环境准备 首先需要先安装好 Python 和 VSCode, 下载地址如下 VSCode Python 二.安装 Python 扩展 首先在VSCode上安装 Python 扩展,如图: 三.新建 ...
- Linux下yum与apt-get
linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包格式 rpm包 ...
- Jenkins构建 前端node项目
1.新建一个自由风格的项目 2.配置git 3.构建-增加构建步骤-执行shell cd $WORKSPACE npm install --registry=http://ip:port --unsa ...
- 玩转u8g2 OLED库,一篇就够(分篇)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...