maven setting配置超详解
<?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>E:/project/localRepository</localRepository><!-- 表示是否使用交互模式,默认是true如果为false,命令如下mvn archetype:generate -DgroupId=com.zworks -DartifactId=maven-setting -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false需要指定groupId、artifactId、archetypeArtifactId,如果不指定会报错,因为这些是无法推测出值的。如果为true,命令如下mvn archetype:generate后面会让你选择或输入archetype、groupId、artifactId、version、package、为false的时候之所以不用指定version和package是因为这两个都有默认值。--><interactiveMode>true</interactiveMode><!-- 如果Maven使用${user.home}/.m2/plugin-registry.xml来管理plugin的版本,就设置为true,默认为false --><usePluginRegistry>false</usePluginRegistry><!-- 如果构建系统要在离线模式下工作,设置为true,默认为false。如果构建服务器因为网络故障或者安全问题不能与远程仓库相连,那么这个设置是非常有用的。 --><offline>false</offline><!--插件组在pluginGroups元素下面可以定义一系列的pluginGroup元素。表示当通过plugin的前缀来解析plugin的时候到哪里寻找。pluginGroup元素指定的是plugin的groupId。默认情况下,Maven会自动把org.apache.maven.plugins和org.codehaus.mojo添加到pluginGroups下。--><pluginGroups><pluginGroup>org.mortbay.jetty</pluginGroup></pluginGroups><!--例如,有了上面的配置,Maven命令行可以使用简单的命令执行org.morbay.jetty:jetty-maven-plugin:run,如下:mvn jetty run--><!--服务器用来下载和部署的仓库是用POM中的repositories和distributionManagement元素来定义的。但是某些配置例如username和password就不应该随着pom.xml来分配了。这种类型的信息应该保存在构建服务器中的settings.xml中。--><servers><server><!-- 这是Server的ID(不是登录进来的user),与Maven想要连接上的repository/mirror中的id元素相匹配。 --><id>nexus_server_id</id><username>my_login</username><password>my_password</password><!-- 与前两个元素一样,这两个成对出现,分别指向了一个私钥(默认的${user.home}/.ssh/id_dsa)和一个passphrase。即分别表示私钥位置和私钥密码 --><privateKey>${user.home}/.ssh/id_dsa</privateKey><passphrase>some_passphrase</passphrase><!-- 文件和目录被创建时的权限。后续需要用此权限来访问。这两个元素合法的值是一个三位数字,其对应了unix文件系统的权限,如664,或者775。 --><filePermissions>664</filePermissions><directoryPermissions>775</directoryPermissions><!-- 传输层额外的配置项 --><configuration></configuration></server></servers><!--镜像--><mirrors><mirror><!-- 镜像标识id --><id>nexus-aliyun</id><name>Nexus aliyun</name><url>https://maven.aliyun.com/repository/public</url><!-- 指向此镜像的仓库Id,任何对于远程仓库的请求都会被转至此url。多个逗号隔开,或者*号统配,或者!排除某个之外的所有仓库external:*匹配除使用 localhost 或基于文件的存储库之外的所有存储库。当您想要排除为集成测试定义的重定向存储库时使用。自 Maven 3.8.0 起,external:http:*匹配所有使用 HTTP 的存储库,但使用 localhost 的存储库除外。* = 一切external:* = 一切不在本地主机上,也不基于文件。repo,repo1 = repo或repo1*,!repo1 = 除了 repo1 之外的所有东西注意不要在逗号分隔列表中的标识符或通配符周围包含额外的空格。例如,<mirrorOf设置为 >的镜像!repo1, *不会镜像任何内容,而!repo1,*会镜像除repo1注意多个mirrorOf内容相同并不会都生效,每个仓库只能有一个镜像,Maven 不会聚合镜像,而只是选择第一个匹配项--><mirrorOf>*</mirrorOf></mirror></mirrors><!-- 代理设置,主要用于无法直接访问中心的库用户配置 --><!--用来配置不同的代理,多代理profiles 可以应对笔记本或移动设备的工作环境:通过简单的设置profile id就可以很容易的更换整个代理配置。 --> <proxies><proxy><id>myproxy</id><active>true</active><protocol>http</protocol><host>proxy.somewhere.com</host><port>8080</port><!-- 两个元素成对出现,提供连接proxy服务器时的认证 --><username>proxyuser</username><password>somepassword</password><!--不该被代理的主机名列表。该列表的分隔符由代理服务器指定;例子中使用了竖线分隔符,使用逗号分隔也很常见。--><nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts></proxy></proxies><!--配置文件settings.xml中的profile是pom.xml中的profile的简洁形式。它包含了激活(activation),仓库(repositories),插件仓库(pluginRepositories)和属性(properties)元素。profile元素仅包含这四个元素是因为他们涉及到整个的构建系统,而不是个别的POM配置。如果settings中的profile被激活,那么它的值将重载POM或者profiles.xml中的任何相等ID的profiles。--><profiles><profile><id>dev</id><!--自动触发profile的条件逻辑。Activation是profile的开启钥匙。如POM中的profile一样,profile的力量来自于它能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式。settings.xml文件中的activeProfile元素可以设置需要激活profile的id。profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P test)。--><activation><!-- 默认激活的标识 --><activeByDefault>false</activeByDefault><!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有版本不是以1.4开头的JDK。--><jdk>1.5</jdk><!--当匹配的操作系统属性被检测到,profile被激活。os元素可以定义一些操作系统相关的属性。--><os><!--激活profile的操作系统的名字 --><name>Windows XP</name><!--激活profile的操作系统所属家族(如 'windows') --><family>Windows</family><!--激活profile的操作系统体系结构 --><arch>x86</arch><!--激活profile的操作系统版本--><version>5.1.2600</version></os><!--如果Maven检测到某一个属性(其值可以在POM中通过${name}引用),其满足对应的name = 值,Profile就会被激活。如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段--><property><name>mavenVersion</name><value>2.0.3</value></property><!--提供一个文件名,通过检测该文件的存在或不存在来激活profile。missing检查文件是否存在,如果不存在则激活profile。另一方面,exists则会检查文件是否存在,如果存在则激活profile。--><file><!--如果指定的文件存在,则激活profile。 --><exists>${basedir}/file2.properties</exists><!--如果指定的文件不存在,则激活profile。--><missing>${basedir}/file1.properties</missing></file></activation><!--如果以上所有指定的条件都达到了,那么,activation就被触发,而且不需要一次性全部达到。--><!--仓库(repositories)仓库是Maven用来构筑构建系统的本地仓库的远程项目集合。它来自于被Maven叫做插件和依赖的本地仓库。不同的远程仓库包含不同的项目,当profile被激活,他们就会需找匹配的release或者snapshot构件。 --><repositories><repository><id>ccl-nexus</id><url>http://172.16.10.99:8081/nexus/content/groups/public</url><!--如何处理远程仓库里发布版本的下载--><releases><!--true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启。 --><enabled>true</enabled><!--该元素指定更新发生的频率。Maven会比较本地POM和远程POM的时间戳。选项是:always(一直), daily(默认,每日),interval:X(这里X是以分钟为单位的时间间隔),never(从不)。 --><updatePolicy>always</updatePolicy><!--当Maven验证构件校验文件失败时该怎么做-ignore(忽略),fail(失败),或者warn(警告)。--><checksumPolicy>warn</checksumPolicy></releases><!--如何处理远程仓库里快照版本的下载。有了releases和snapshots这两组配置,POM就可以在每个单独的仓库中,为每种类型的构件采取不同的策略。例如,可能有人会决定只为开发目的开启对快照版本下载的支持。参见repositories/repository/releases元素--><snapshots><enabled>true</enabled><updatePolicy>never</updatePolicy><checksumPolicy>fail</checksumPolicy></snapshots></repository></repositories><!--插件仓库(plugin repositories)仓库包含了两种重要类型的构件:第一种是用来做其他构件依赖的构件,这是在中央仓库中的大多数插件。另外一种类型的构件就是插件。Maven的插件本身就是一种特殊的构件。因此,插件仓库被从其他仓库中分离出来。pluginRepositories元素模块的结构与repositories模块很相似。pluginRepository元素指向一个可以找到新插件的远程地址。--><pluginRepositories><pluginRepository><id>ccl-nexus</id><url>http://172.16.10.99:8081/nexus/content/groups/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile><profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><!--属性(properites)Maven的属性是值占位符,就像Ant中的属性。如果X是一个属性的话,那么它的值在POM中可以使用${X}来进行任意地方的访问。他们来自于五种不同的风格,所有都可以从settings.xml文件中访问到。1.env.X:使用“env.”前缀将会返回当前的环境变量。例如${env.PATH}就是使用了$path环境变量。2.project.X:一个点“.”分割的路径,在POM中就是相关的元素的值。例如:<project><version>1.0</version></project>就可以通过${project.version}来访问。3.settings.X:一个点“.”分割的路径,在settings.xml中就是相对应的元素的值,例如:<settings><offline>false</offline></settings>就可以通过${settings.offline}来访问。4.Java系统属性:所有通过java.lang.System.getProperties()来访问的属性都可以像POM中的属性一样访问,例如:${java.home}5.X:被<properties/>或者外部文件定义的属性,值可以这样访问${someVar}--><properties><sonar.jdbc.url>jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url><sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName><sonar.jdbc.username>root</sonar.jdbc.username><sonar.jdbc.password></sonar.jdbc.password><sonar.host.url>http://172.16.11.43:80</sonar.host.url></properties><!--如果这个profile被激活,那么属性${sonar.jdbc.url}就可以被访问了--></profile> </profiles><!--激活配置(Active Profiles)--><activeProfiles><activeProfile>dev</activeProfile></activeProfiles></settings>
maven setting配置超详解相关推荐
- win10下MYSQL的下载、安装以及配置超详解教程
下载MYSQL 官网下载MYSQL5.7.21版本,链接地址https://www.mysql.com/downloads/.下载流程图如下: 进入官网点击Community,下载社区版. 找到 ...
- 用idea建立jsp项目_用idea创建maven项目,配置tomcat详解
用idea创建maven项目,配置tomcat详解,电脑上得有jdk1.7,或者1.8,然后就是maven3.x吧,再有就是tomcat7以上 下面就直接开始看图啦: 这个我刚刚开始没注意细看,原来w ...
- Mybatis案例超详解
Mybatis案例超详解 前言: 本来是想像之前一样继续跟新Mybatis,但由于种种原因,迟迟没有更新,快开学了,学了一个暑假,博客也更新了不少,我觉得我得缓缓,先整合一些案例练练,等我再成熟点理解 ...
- Maven中pom文件详解
在IDE中使用Maven IDE工具 MyEclipse 集成maven插件 Eclipse Eclipse For Java EE IDEA 集成Maven插件 在IDE中 配置Maven 指定 ...
- Maven中央仓库发布详解
Maven中央仓库发布详解 开通官方账号 注册 提交issue 按照提示步骤操作 准备工作 签名工具 配置Maven Setting.xml 上传jar包 修改项目pom.xml 仓库管理 开通官方账 ...
- idea 执行java maven,IDEA的run maven方式启动步骤详解
安装jetty插件 1. 找到Plugins,查找jetty插件,安装"IDEA Jetty Runner",安装好后重启IDEA 安装插件:Maven Helper 方法同Jet ...
- build.gradle配置参数详解
转载地址:http://blog.csdn.net/baidu_31093133/article/details/51860637 build.gradle配置参数详解//声明是Android程序ap ...
- python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...
简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑 ...
- Apollo微服务配置中心详解
Apollo微服务配置中心详解 前言 一.Apollo架构 (一)简介 (二)角色介绍 (三)服务端实现 (四)客服端实现 二.Apollo部署 (一)准备数据库 (二)配置服务 1. 手动部署 (1 ...
- 【夯实Spring Cloud】Spring Cloud分布式配置中心详解
本文属于[夯实Spring Cloud]系列文章,该系列旨在用通俗易懂的语言,带大家了解和学习Spring Cloud技术,希望能给读者带来一些干货.系列目录如下: [夯实Spring Cloud]D ...
最新文章
- 移动数据分析服务使用教程
- 服务端JavaScript之Rhino
- 计算机专业的学员为什么要学erp,对要进入计算机专业学习的人的小小建议(浅谈)...
- Ubuntu安装后无法连接无线网络
- 区块链BaaS云服务(21)腾讯CCGP“治理链”
- 【UIKit】UITableView 3
- 分支结构定义java_[Android-Java]2.分支结构-(4-7)
- 可疑文件_鉴定文件是不是病毒木马的可靠方法 | 免费快速精准
- Linux 远程连接工具 【vnc viewer】 图形界面
- SpringMVC:学习笔记(1)——理解MVC及快速入门
- Web服务请求异步化介绍(概念篇)
- mysql插入汉子1366_mysql 向列表中添加漢字錯誤 1366
- 计算机 映射网络驱动器,映射网络驱动器
- 小马激活手动分配磁盘_不要成为“单把小马”手动测试仪
- 2022全国职业技能大赛-网络系统管理-Debian模块:CA证书服务
- 如何实现微信和淘宝的扫码登录 ?
- 消息循环中的TranslateMessage函数和DispatchMessage函数
- ust (user space tracer)
- 我的世界自定义服务器维护,[机制|娱乐]FixItem —— 良心铁匠铺,高自定义性,让你的玩家常驻服务器[理论全版本]...
- 【Android 插件化】VirtualApp 编译运行 ( VirtualApp 简介 | 配置 VirtualApp 编译环境 | 编译运行 VirtualApp 官方示例 )
热门文章
- pythonrq模块_Python RQ 任务队列中的队列 ( Queue )
- MySQL - MySQL 8.0(二)基本操作:对象
- 【Python】随机森林算法——东北大学大数据班数据挖掘实训四
- mysql++简单应用_MySQL简单应用之视图(view)
- 毕业三年,坚持学习两年,成功上岸字节跳动,背水一战
- linux安装Vim-plug和配置.vimrc文件
- 这位成功转型机器学习的老炮,想把他多年的经验分享给你
- oracle调用web severs,PL/SQL调用WebService
- 6英寸划片机 陆芯3252半自动单轴晶圆切割机
- 测试基础知识1 》》软件测试入门