共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

Maven settings.xml文件小析

2014-08-28 15:05

SNAPSHOT意为快照,说明该项目正处于开发中,是不稳定版本。随着版本的发展,Version会不断更新,如升级为1.0 1.1-SNAPSHOT 1.1 2.0等。

超级POM

所有项目的POM都继承了超级POM,它的内容是:

超级POM定义了仓库和插件仓库。并且都关闭了SNAPSHOT的支持,这也就是解释了为什么Maven默认就可以按需要从中央仓库下载构件。

mirrors

<!-- 镜像仓库配置 --> <mirrors> <mirror> <!--This is used to direct the public snapshots repo in the profile below over to a different nexus group --> <id>baidu-nexus-snapshots</id> <mirrorOf>public-snapshots</mirrorOf> <url>http://maven.scm.baidu.com:8081/nexus/content/groups/public-snapshots</url> </mirror> <mirror> <id>baidu-nexus</id> <url>http://maven.scm.baidu.com:8081/nexus/content/groups/public</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors>

例如上面,baidu-nexus-snapshots表示是public-snapshots的镜像,所有请求public-snapshots的请求都会由baidu-nexus-snapshots来代理,并且URL指向http://maven.scm.baidu.com:8081/nexus/content/groups/public-snapshots。

对于非public-snapshots的请求,全部由 baidu-nexu进行代理,URL是 http://maven.scm.baidu.com:8081/nexus/content/groups/public

localRepository

&lt;!-- 本地仓库地址 --&gt;
&lt;localRepository&gt;D:\10_software\MVN_REPRO\m2repository&lt;/localRepository&gt;

repositories

&lt;repositories&gt;
    &lt;repository&gt;
        &lt;id&gt;public-snapshots&lt;/id&gt;
        &lt;url&gt;http://public-snapshots&lt;/url&gt;
        &lt;releases&gt;
            &lt;enabled&gt;false&lt;/enabled&gt;
        &lt;/releases&gt;
        &lt;snapshots&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
        &lt;/snapshots&gt;
    &lt;/repository&gt;
&lt;/repositories&gt;
&lt;pluginRepositories&gt;
    &lt;pluginRepository&gt;
        &lt;id&gt;public-snapshots&lt;/id&gt;
        &lt;url&gt;http://public-snapshots&lt;/url&gt;
        &lt;releases&gt;
            &lt;enabled&gt;false&lt;/enabled&gt;
        &lt;/releases&gt;
        &lt;snapshots&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
        &lt;/snapshots&gt;
    &lt;/pluginRepository&gt;
&lt;/pluginRepositories&gt;

repositories 是仓库,这里定义了仓库public-snapshots和仓库的插件库public-snapshots。这里开启了SNAPSHOT。并且关闭了release版本的下载。这里指定错URL了,但是不要紧,因为在上面我们用了镜像进行代理了。

updatePolicy用来配置Maven从远程仓库检查更新的频率,默认的值是daily,表示 Maven每天检查一次。 always表示每次构建都检查更新。

Maven版本号定义约定

例如 1.3.4-beta-2

<主版本>.<次版本>.<增量版本>-<里程碑版本>

本文链接地址:Maven settings.xml文件小析
1275 次点击