来到新公司对很多陌生的技术一头雾水,以前在工作中没有真正使用过maven,于是强迫自己蛋定下来一个一个的突破,下面是我对maven的setting配置文件的理解,由于是现学的,难免可能会理解偏差,还请牛人路过指正。

  1. <!--
  2. xuze added by:添加了一些注释,利于新人理解
  3. Date:2011年7月18日
  4. -->
  5. <settings>
  6. <!-- 配置镜像 -->
  7. <mirrors>
  8. <mirror>
  9. <!-- 此镜像一般用来作为公司内部开发的版本快照,作为public-snapshots仓库的镜像地址 -->
  10. <!-- 镜像的id,id用来区分不同的mirror元素。 -->
  11. <id>nexus-public-snapshots</id>
  12. <!-- 被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://repo1.maven.org/maven2)的镜像,
  13. 就需要将该元素设置成central。这必须和中央仓库的id “central”完全一致。 -->
  14. <mirrorOf>public-snapshots</mirrorOf>
  15. <!-- 该镜像的URL。 -->
  16. <url>http://repos.d.xxx.com/nexus/content/groups/public-snapshots</url>
  17. </mirror>
  18. <mirror>
  19. <!-- 此镜像一般用来作为公司第三方引用基础类库镜像,是所有仓库的镜像地址 -->
  20. <id>nexus</id>
  21. <!-- 为*表示为所有的仓库做镜像,有了这个配置,所有的构建都会包含public组,如果你想包含public-snapshots组,
  22. 你必须添加public-snapshots这个Profile,通过在命令行使用如下的 -P 标志:$ mvn -P public-snapshots clean install -->
  23. <mirrorOf>*</mirrorOf>
  24. <url>http://repos.d.xxx.com/nexus/content/groups/public</url>
  25. </mirror>
  26. </mirrors>
  27. <!-- settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。它包含了activation, repositories, pluginRepositories 和 properties元素。
  28. 这里的profile元素只包含这四个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。
  29. 如果一个settings中的profile被激活,它的值会覆盖任何其它定义在POM中或者profile.xml中的带有相同id的profile。 -->
  30. <profiles>
  31. <profile>
  32. <id>development</id>
  33. <!-- 仓库。仓库是Maven用来填充构建系统本地仓库所使用的一组远程项目。而Maven是从本地仓库中使用其插件和依赖。
  34. 不同的远程仓库可能含有不同的项目,而在某个激活的profile下,可能定义了一些仓库来搜索需要的发布版或快照版构件。有了Nexus,这些应该交由Nexus完成 -->
  35. <repositories>
  36. <repository>
  37. <id>central</id>
  38. <!-- 虚拟的URL形式,指向镜像的URL,因为所有的镜像都是用的是nexus,这里的central实际上指向的是http://repos.d.xxx.com/nexus/content/groups/public -->
  39. <url>http://central</url>
  40. <!-- 表示可以从这个仓库下载releases版本的构件-->
  41. <releases><enabled>true</enabled></releases>
  42. <!-- 表示可以从这个仓库下载snapshot版本的构件 -->
  43. <snapshots><enabled>true</enabled></snapshots>
  44. </repository>
  45. </repositories>
  46. <!-- 插件仓库。仓库是两种主要构件的家。第一种构件被用作其它构件的依赖。这是中央仓库中存储大部分构件类型。
  47. 另外一种构件类型是插件。Maven插件是一种特殊类型的构件。由于这个原因,插件仓库独立于其它仓库。
  48. pluginRepositories元素的结构和repositories元素的结构类似。每个pluginRepository元素指定一个Maven可以用来寻找新插件的远程地址。 -->
  49. <pluginRepositories>
  50. <pluginRepository>
  51. <id>central</id>
  52. <url>http://central</url>
  53. <releases><enabled>true</enabled></releases>
  54. <snapshots><enabled>true</enabled></snapshots>
  55. </pluginRepository>
  56. </pluginRepositories>
  57. </profile>
  58. <profile>
  59. <!--this profile will allow snapshots to be searched when activated-->
  60. <id>public-snapshots</id>
  61. <repositories>
  62. <repository>
  63. <id>public-snapshots</id>
  64. <!-- 虚拟的URL形式,指向镜像的URL,这里指向的是http://repos.d.xxx.com/nexus/content/groups/public-snapshots -->
  65. <url>http://public-snapshots</url>
  66. <releases><enabled>false</enabled></releases>
  67. <snapshots><enabled>true</enabled></snapshots>
  68. </repository>
  69. </repositories>
  70. <pluginRepositories>
  71. <pluginRepository>
  72. <id>public-snapshots</id>
  73. <url>http://public-snapshots</url>
  74. <releases><enabled>false</enabled></releases>
  75. <snapshots><enabled>true</enabled></snapshots>
  76. </pluginRepository>
  77. </pluginRepositories>
  78. </profile>
  79. </profiles>
  80. <!-- 激活的Profile。activation元素并不是激活profile的唯一方式。settings.xml文件中的activeProfile元素可以包含profile的id,
  81. 任何在activeProfile中定义的profile id,不论环境设置如何,其对应的profile都会被激活。如果没有匹配的profile,则什么都不会发生。
  82. profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P test)。
  83. 要了解在某个特定的构建中哪些profile会激活,可以使用maven-help-plugin(mvn help:active-profiles)。 -->
  84. <activeProfiles>
  85. <!-- 没有显示激活public-snapshots -->
  86. <activeProfile>development</activeProfile>
  87. </activeProfiles>
  88. <!-- 自定义本地仓库地址,其默认值为~/.m2/repository -->
  89. <localRepository>/data/maven-repository</localRepository>
  90. <!-- 发布的服务器和密码,暂时未限制权限 -->
  91. <servers>
  92. <server>
  93. <!-- 发布的位置在POM中配置,以ID为关联,有很多公用的信息需要配置在POM文件里,最佳实践是定义一个公司级别的root pom -->
  94. <id>archiva.internal</id>
  95. <username>maven</username>
  96. <password>1q2w3e4r</password>
  97. </server>
  98. <server>
  99. <id>archiva.snapshots</id>
  100. <username>maven</username>
  101. <password>1q2w3e4r</password>
  102. </server>
  103. </servers>
  104. </settings>

使用Nexus管理maven仓库,setting文件理解的更多相关文章

  1. 使用Nexus管理Maven仓库时,上传带依赖的第三方jar

    总所周知,使用Maven构建非常方便.在企业中使用Nexus创建私服来管理Maven时,需要上传很多没有开放源码的第三方Jar包.本文将讲述当第三方Jar包有很多并且互相有依赖时如何上传. 核心操作 ...

  2. nexus建立maven仓库私服及Snapshots、release的版本管理

    环境搭建   1.linux安装maven   wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.0.5/binaries/apache-mave ...

  3. 使用nexus搭建maven仓库(本地私服)

    我们在使用maven的时候,对于项目所依赖的jar包,maven默认会在中央仓库下载jar包,到本地的磁盘目录(如果没有配置则是用户目录下/.m2/repository文件夹下).如果公司内部搭了一个 ...

  4. nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载:点击进入 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一 ...

  5. 使用nexus搭建maven仓库(maven 本地私服)

    我们在使用maven的时候,对于项目所依赖的jar包,maven默认会在中央仓库下载jar包,到本地的磁盘目录(如果没有配置则是用户目录下/.m2/repository文件夹下).如果公司内部搭了一个 ...

  6. Nexus远程Maven仓库索引下载教程

    下载Maven仓库索引有两种方式: 一.手动下载 首先将索引下载到本地,下载地址:nexus-maven-repository-index.zip 解压索引压缩包,将里面内容全部拷贝   关闭当前Ne ...

  7. 【Maven】Nexus(Maven仓库私服)下载与安装

    Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库 ...

  8. 使用Apache Archiva管理Maven仓库

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  9. nexus 私有 maven 仓库的搭建

    下载地址 页面 : https://help.sonatype.com/repomanager3/download 首先需要安装jdk .安装棒法我 前面的文章有写.https://www.cnblo ...

随机推荐

  1. 使用Axure RP原型设计实践03,制作一个登录界面的原型

    本篇体验做一个登录界面的原型. 登录页 首先在Page Style里为页面设置背景色. 如果想在页面中加图片,就把Image部件拖入页面,并设置x和y轴.双击页面中的Image部件可以导入图片.在Im ...

  2. Visual Studio 2012使用NUnit单元测试实践01,安装NUnit并使用

    在Visual Studio 2012中,默认使用Microsoft自带的MS-Test测试框架.但,Visual Studio同样允许使用第三方测试框架,比如NUnit,xUnit,MbUnit,等 ...

  3. 报错:此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容

    在Visual Studio 2012中使用Entity Framework,根据模型生成数据库时,报如下错误: 无法在自定义编辑器中打开Transact-SQL文件此版本的SQL Server Da ...

  4. 再谈Linux内核中的RCU机制

    转自:http://blog.chinaunix.net/uid-23769728-id-3080134.html RCU的设计思想比较明确,通过新老指针替换的方式来实现免锁方式的共享保护.但是具体到 ...

  5. 无线通信中FEC 编码原理及评价

    转自:http://blog.csdn.net/wiznet2012/article/details/7492146 大家好,前面我们给大家介绍了无线通信中FEC编码原理(1)和(2),今天继续献上F ...

  6. Android之仿String的对象驻留

    String a = "abc"; String b = "abc"; a == b     true; 变量a和变量b是同一个值.这不只是说它俩的值是一样的, ...

  7. 关于Spring-Data-Jpa的一些理解

    spring data jpa介绍 首先了解JPA是什么? JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管 ...

  8. 简单实用UML关系图解

    一句话UML,再记不住就要DPP了: 关系 图解 代码 备注 1:继承关系(Generalization)     2:实现关系(Realization)     3:依赖关系(Dependency) ...

  9. [转]PHP用mysql数据库存储session

    From : http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/0226/4002.html 大部分使用php的人一旦应用到sessio ...

  10. 使用ASP.NET读取word2003文档

    直接使用.NET 读取doc文档. http://www.codeproject.com/Articles/22738/Read-Document-Text-Directly-from-Microso ...